Javascript的正则表达式允许unicode,但不允许少数特殊字符,如*,[,],〜等
问题描述:
我想允许像中文字符等Unicode字符,但不希望允许特殊字符如*,[,],〜并且还有空格,输入等。Javascript的正则表达式允许unicode,但不允许少数特殊字符,如*,[,],〜等
答
元字符\W
找到包含所有特殊字符的非字元字符。
var str = "{,[]&$pop^%$%%}";
var patt = /\W/g;
var string = str.replace(patt,"");
window.alert(string);
+0
“\ w或\ W只匹配基于ASCII的字符” - https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/RegExp#Regular_expression_and_Unicode_characters –
我该如何提出一个好问题? http://stackoverflow.com/help/how-to-ask –
可能重复的[Javascript + Unicode正则表达式](http://stackoverflow.com/questions/280712/javascript-unicode-regexes) –
也可能重复的[ javascript-unicode-string-chinese-character-but-no-punctuation](http://stackoverflow.com/questions/21109011/javascript-unicode-string-chinese-character-but-no-punctuation) –