问题是,当我尝试测试它时,它总是返回false。你知道为什么吗?
$('MyInput').mouseout(function () {
alert($('MyInput').val()); // it is "яяqqåå"
alert(/^[\p{L}0-9\s\.\\\/\-]{2,20}$/.test($('MyInput').val()));
});
答案 0 :(得分:1)
这是因为Javascript正则表达式不支持\p{L}
即使这会返回false:
/^\p{L}+/.test('a');
您可以使用此毯式unicode范围来匹配输入文本:
/^[\u0000-\uffff\d\s.\\\/-]{2,20}$/.test('яяqqåå');
//=> returns true