某平台规范:name支持中文、英文大小字母、英文下划线"_"、英文横线"-"和数字。
我用jsp正则表达式test函数,发现只能检验字符串中含有这几类字符,但是却不能排除其他字符的存在。
后来换个思路,在字符串中replace所有匹配的字符为“”,如果最后都为"" 则说明没其他字符。
你们是怎么实现的呢?
var name = new String( prompt("请输入名称:","") );//var patt = /[\\p{Unified_Ideograph}_a-zA-Z0-9-]+/g; //不支持var patt = /[\u4e00-\u9fa5_a-zA-Z0-9-]+/g;var reg_check = name.replace(patt, "");//从string中替换掉pattern中允许的字符console.log("reg check result:",reg_check);if(reg_check == ""){//匹配成功}