正则表达式unicode字母的客户端验证

时间:2017-05-02 07:10:22

标签: javascript jquery unicode

除了服务器端验证之外,我还希望对输入字段进行一些客户端验证(javascript / jquery),以接受' unicode字母' http://www.regular-expressions.info/unicode.html#category ...当然有很多教程/示例......但我仍然无法让它工作......这就是我到目前为止的尝试:

//this is working: 
var re_username = /^[a-zA-Z]+$/;

//this is not working:
var re_username = /^[p{L}]+$/;
var re_username = /^[p{L}]+$/u;
var re_username = /[p{L}]+$/u;
var re_username = /[p{L}]*$/u;
var re_username = /[p{L}]+$/u;
var re_username = /[\p{L}]+$/u;
var re_username = /^[\p{L}]+$/u;
var re_username = /[\p{L}\p{M}]*+;
var re_username = /[\p{L}\p{M}]*+$;
var re_username = /^\p{L}+$/;
var re_username = /^[\p{L}\p{M}]+$/;

//here I further take the val ...   
var is_username = re_username.test($('#chatusername').val());

p {L}在javascript / jquery中不能像那样工作吗?

1 个答案:

答案 0 :(得分:1)

JavaScript的内置正则表达式引擎并不支持Unicode类别。但是,Steven Levithan的XRegExp确实可以使用它。

var re_username = XRegExp("^\\pL+$");

如果不使用库,则必须在字符类中包含所有符合Unicode字母的代码点的范围。