我正在使用以下JavaScript正则表达式来验证用户的名字和姓氏
var regexp = /^((?=[a-z \']).)+$/i; var val1 = "Normal Text' Compromised"; // true var val2 = "UTF Text' Połącz Słońce w Mózu"; // false <---- UTF-8 var val3 = "Illegal char: Blac & White"; // false
题:
有什么方法可以使正则表达式“ UTF-8不敏感 ”,以允许用户使用UTF字符?
我知道JS验证尚不支持UTF,但是我想知道是否有任何解决方法。我也不想手动排除所有非法字符,例如:
var regexp = /^((?![0-9\~\!\@\#\$\%\^\&\*\(\)\_\+\=\-\[\]\{\}\;\:\"\\\/\<\>\?]).)+$/;
编辑:
条件是字符:az,空格,\,’以及可以在用户的名字/姓氏中找到的任何其他UTF字符。
我正在寻找更通用的东西,例如PHP中的 \ p {xx} 音序器
该XRegExp库的Unicode插件增加了Unicode字符类的支持(如“\p{L}“),以JavaScript的正则表达式。
\p{L}