regex jqueryvalidation器中字符类中的范围乱序
我正在尝试使用jqueryvalidation器插件来测试regEx并在正则表达式不匹配时显示错误消息。 看看我到目前为止编写的代码。
另请查看我在下面编写的js代码:
$().ready(function() { $('#sampleForm').validate({ rules: { phoneNumber: { required: true, nameTest: true } }, messages: { phoneNumber: { required: "Please enter anything" } } }); }); jQuery.validator.addMethod("nameTest", function(value, element) { return /^[aZ]$/.test(value); }, "success, it's working");
我只使用一个简单的regEx来只允许带有/^[aZ]$/
az字母。
我不知道为什么,但我得到了:
无效的正则表达式:/ ^ [aZ] $ /:字符类中的顺序乱序
请帮忙,在此先感谢:)
该错误是因为a
(97)在ASCII编码序列中位于Z
(90)之后 – 因此范围是乱序的:
console.log('a'.charCodeAt(0)); console.log('Z'.charCodeAt(0));