1

我正在使用Jquery 验证

目前,我有一个用户名,我想为这个用户名验证的是:

  • 非空白
  • 可用性
  • 没有空格,我添加这个方法:

    $.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 个空格,为什么?

4

2 回答 2

10

利用

/^[A-Za-z][A-Za-z0-9]+$/

对于字母数字方法。

这匹配任何由一个字母后跟一个或多个字母数字字符组成的字符串。这假定不允许使用单字符用户名。如果您确实希望允许单字符用户名,请将模式更改为:

/^[A-Za-z][A-Za-z0-9]*$/

这样,就不需要单独检查第一个字符。顺便说一句,这也应该消除对空格检查的需要,因为完全由字母数字字符组成的字符串不能包含任何定义的空格。

于 2009-08-20T03:18:22.963 回答
2
value.substr(0, 1).match(/[A-Za-z]/) != null
于 2009-08-20T03:14:33.297 回答