如何判断字符串中含有非法字符

时间:2021-01-27 22:51:50
所谓非法就是指正则表达式里的 *  [  ? 等元字符 
不要告诉我用  /^(?:[\u4e00-\u9fa5]*\w*\s*)+$/ 
因为这只是匹配 汉字 字母及数字 而且在IE5下还不行的   

4 个解决方案

#1


if(/[^\u4e00-\u9fa5\w]/.test(str)) alert("有非法字符")

#2


谢谢你的回答 这段在IE5是没问题的

可是有些符号比如《 》 也被拒绝, 这也不太好 

其实就是把用户输入的信息 输入到RegExp  然后从指定文本中去替匹配 

最好所有非正则表达式元字符 都能通过就好了

#3


其实还可以把上面的字符放到一个字符串,然后用循环去查找的呀,这个方法比较笨了点,但可以解决问题的呀

#4


好啦  揭帖,  大家都没太大兴趣

#1


if(/[^\u4e00-\u9fa5\w]/.test(str)) alert("有非法字符")

#2


谢谢你的回答 这段在IE5是没问题的

可是有些符号比如《 》 也被拒绝, 这也不太好 

其实就是把用户输入的信息 输入到RegExp  然后从指定文本中去替匹配 

最好所有非正则表达式元字符 都能通过就好了

#3


其实还可以把上面的字符放到一个字符串,然后用循环去查找的呀,这个方法比较笨了点,但可以解决问题的呀

#4


好啦  揭帖,  大家都没太大兴趣