正则匹配中文问题

条件:匹配中英文加下划线5-15位
var pattern = /^[u4E00-u9FA5A-Za-z0-9_]{5,15}$/; 大家觉得这个正则有问题吗?问题是个别中文匹配不到呢
var str = "㷣地方aa123_"; 
pattern.test(str); //返回false

慕后森
浏览 673回答 3
3回答

aluckdog

有两个问题:你忘了加反斜杠了(或者是markdown给你搞没了),应该是这样var pattern = /^[\u4E00-\u9FA5A-Za-z0-9_]{5,15}$/;“㷣”(\u3DE3)这个字不在\u4E00-\u9FA5A范围内。

慕尼黑5688855

问题:Unicode汉字编码范围u4E00-u9FA5Unicode汉字编码表查询了编码表发现㷣(xing)字不在Unicode编码范围所以会返回falseunicode转中文,中文转unicode,参考@zifengb修改后的正则表达式var pattern = /^[\u4e00-\u9fa5\u3de3_a-zA-Z0-9]{5,15}$/; var str = "㷣地方aa123_"; str.match(pattern);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript