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));