Javascript 正则表达式jquery验证器中字符类中的范围无序

Javascript 正则表达式jquery验证器中字符类中的范围无序,javascript,jquery,regex,jquery-validate,Javascript,Jquery,Regex,Jquery Validate,我试图使用jquery验证程序插件测试正则表达式,并在正则表达式不匹配时显示错误消息。请看一下到目前为止我编写的代码 <form name="sampleForm" id="sampleForm" class="col-xs-10 col-xs-offset-1" style="margin-top:10px;"> <input type="text" id="phoneNumber" name="phoneNumber" class="form-control" re

我试图使用jquery验证程序插件测试正则表达式,并在正则表达式不匹配时显示错误消息。请看一下到目前为止我编写的代码

<form name="sampleForm" id="sampleForm" class="col-xs-10 col-xs-offset-1" style="margin-top:10px;">
    <input type="text" id="phoneNumber" name="phoneNumber" class="form-control" required/><br/>
    <input type="text" class="form-control" id="name" name="name"/>
    <button type="submit" class="btn btn-success col-xs-4 col-xs-offset-4" style="margin-top:10px;">Submit</button>
</form>   


提交
还可以看看我在下面编写的js代码:

<script>
  $().ready(function() {
    $('#sampleForm').validate({
      rules: {
        phoneNumber: {
          required: true,
          nameTest: true
        }
      },
      messages: {
        phoneNumber: {
          required: "Please enter anything"
        }
      }
    });
  });
  jQuery.validator.addMethod("nameTest", function(value, element) {
    return /^[a-Z]$/.test(value);
  }, "success, it's working");
</script>

$().ready(函数()){
$('#sampleForm')。验证({
规则:{
电话号码:{
要求:正确,
姓名测试:正确
}
},
信息:{
电话号码:{
必填:“请输入任何内容”
}
}
});
});
jQuery.validator.addMethod(“nameTest”),函数(值,元素){
返回/^[a-Z]$/.test(值);
},“成功了,它起作用了”);
我只是使用了一个简单的正则表达式,只允许a-z字母表带有
/^[a-z]$/

我不知道为什么,但我得到:

无效的正则表达式:/^[a-Z]$/:字符类中的范围无序


请帮助,提前感谢:)

错误是因为在ASCII编码序列中,
a
(97)在
Z
(90)之后-因此范围不正常:

console.log('a'.charCodeAt(0));

console.log('Z'.charCodeAt(0))太棒了,它正在工作:)