LiveValidation䏿–‡ä¿®æ”¹ç‰ˆä¸‹è½?/a>
é‡åˆ°˜q™ä¹ˆä¸€ä¸ªé—®é¢˜ï¼Œæ•°æ®åº“çš„å—ç¬¦é›†äØ“UTF-8的,è¦åœ¨™åµé¢ä¸Šä‹É用JavaScript验è¯è¾“入的文本用UTF-8å˜å‚¨æ—¶å 用å—节长度。JavaScriptçš„String对象有length属性,但是˜q™ä¸ªè®¡ç®—的是å—符敎ͼŒä¸æ˜¯å—节敎ͼˆé—®é¢˜æ€ÀL˜¯¾˜ÀL¥è¦†åŽ»çš„ï¼Œè®°å¾—å½“å¹´çŽ©Delphi的时候,˜q˜å¾—写程åºè®¡½Ž—å—½W¦ä¸²çš„å—½W¦æ•°åQŒå› 为Delphiä¸Stringçš„length是å—节数...åQ‰ã€‚å·æ‡’一点的办法是将验è¯ä»£ç 䏿œ€å¤§é•¿åº¦è®¾¾|®äؓ数æ®åº“ä¸å¯¹åº”å—æ®µçš„长度的1/3åQŒä½†æ˜¯è¿™æ ·å‡†¼‹®æ¥è¯´æœ‰ç‚¹ä¸åˆé€‚ã€?/p>
所以想办法在JavaScriptä¸åˆ¤æ–在UTF-8下å˜å‚¨çš„Stringçš„å—节数åQŒåœ¨¾|‘上扑ֈ°å¾ˆå¤šå…³äºŽUnicode介ç»çš„æ–‡æ¡£ï¼Œæœ€é‡è¦çš„æ˜¯å—符¾~–ç æ•°å€¼å¯¹åº”çš„å˜å‚¨é•¿åº¦åQ?/p>
UCS-2¾~–ç (16˜q›åˆ¶) UTF-8 å—节‹¹?二进åˆ?
0000 - 007F 0xxxxxxx åQ?å—节åQ?br />
0080 - 07FF 110xxxxx 10xxxxxx åQ?å—节åQ?br />
0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx åQ?å—节åQ?
于是代ç 如下åQ?/p>
实际ä¸?0x0080åˆ?x07ff之间的嗽W¦å¾ˆž®‘会在实际用戯‚¾“å…¥ä¸ç”¨åˆ°ã€?/p>
å‚考文档:
½E‹åºå‘˜è¶£å‘Œ™¯»ç‰©ï¼šè°ˆè°ˆUnicode¾~–ç http://www.lihuasoft.net/article/show.php?id=2778
䏿¶‰åŠå®‰å…¨èƒ½ç”¨JSž®Þq”¨JS。。ã€?br />
™åµé¢ä¸åŠ ä¸Šï¼š