如何验证用户名是否以字母开头并且仅包含字母数字字符?

1 javascript regex jquery-validate

我正在使用Jquery验证.

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

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

    $.validator.addMethod("nowhitespace", function(value, element) {
         return this.optional(element) || /^\S+$/i.test(value);
    }, "  No white space please");
    
    Run Code Online (Sandbox Code Playgroud)
  • 字母数字

    $.validator.addMethod("alphanumeric", function(value, element) {
         return this.optional(element) || /^[a-zA-Z0-9]+$/i.test(value);
    }, "  Alphanumeric. Only numbers and alphabet allowed");
    
    Run Code Online (Sandbox Code Playgroud)
  • 第一个字符必须是字母,不能是数字.

我被困在最后的验证中.如何编写正则表达式来验证第一个字符必须是字母?

BTW:

没有空白似乎有问题.我试过我的脚本,1允许空格,但不允许2个空格,为什么?

Sin*_*nür 10

使用

/^[A-Za-z][A-Za-z0-9]+$/
Run Code Online (Sandbox Code Playgroud)

用于字母数字方法.

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

/^[A-Za-z][A-Za-z0-9]*$/
Run Code Online (Sandbox Code Playgroud)

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