首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

急正则匹配 中文 Unicode解决方案

2012-04-22 
急急急、、。正则匹配 中文 Unicodevar sRegexTH /^([\u4e00-\u9fa5])+$/var sUnicodeTH escape(sPageNa

急急急、、。正则匹配 中文 Unicode
var sRegexTH = /^([\u4e00-\u9fa5])+$/; 
var sUnicodeTH = escape(sPageName).toLocaleLowerCase().replace(/%u/gi, '\\u');
 
 sRegexTH.test(sUnicodeTH) 这么匹配不对吗?为何总是返回false呢

[解决办法]
正则没有什么问题,alert一下sUnicodeTH是什么

ps:
var sRegexTH = /^[\u4e00-\u9fa5]+$/; 

无需捕获组
[解决办法]
var sRegexTH = /^[\u4e00-\u9fa5]+$/; //这是验证字符串全是中文


var sRegexTH = /[\u4e00-\u9fa5]+/g; //这是匹配字符串中的中文
[解决办法]
你用replace(/%u/gi, '\\u')处理,说明你的sUnicodeTH 中十有八九是含有\u的,而你的正则sRegexTH是验证sUnicodeTH是否为全中文,按这个来说,返回false是对的,先看下你得到的sUnicodeTH 是否为全中文吧

热点排行