我正在使用Jquery Validation。
目前,我有一个用户名,我要为此用户名验证的是:
没有空格,我添加了这个方法:
$.validator.addMethod("nowhitespace", function(value, element) {
return this.optional(element) || /^\S+$/i.test(value);
}, " No white space please");
字母数字
$.validator.addMethod("alphanumeric", function(value, element) {
return this.optional(element) || /^[a-zA-Z0-9]+$/i.test(value);
}, " Alphanumeric. Only numbers and alphabet allowed");
第一个字符必须是字母,不能是数字。
我被困在最后的验证中。如何编写正则表达式来验证第一个字符必须是字母?
顺便说一句:
没有空白似乎有问题。我尝试了我的脚本,1允许空格,但不允许2个空格,为什么?
答案 0 :(得分:9)
使用
/^[A-Za-z][A-Za-z0-9]+$/
用于字母数字方法。
匹配任何由字母后跟一个或多个字母数字字符组成的字符串。这假定不允许使用单个字符的用户名。如果您确实要允许单字符用户名,请将模式更改为:
/^[A-Za-z][A-Za-z0-9]*$/
这样,就不需要单独检查第一个字符了。顺便说一句,这也应该避免了对空格检查的需要,因为完全由字母数字字符组成的字符串不能按照定义包含任何空格。
答案 1 :(得分:2)
value.substr(0, 1).match(/[A-Za-z]/) != null