名字和姓氏的正则表达式

时间:2014-06-13 16:45:54

标签: javascript regex

验证firstname和lastname字段。以下是要求

  • 阻止特殊字符
  • 至少一个字母
  • 允许使用字母数字

我正在使用这个正则表达式:

firstNamenoSpecialChar:

/^[a-zA-Z0-9\s_]*[a-zA-Z][a-zA-Z0-9\s]*$/

我需要再添加一个条件:长度应为最小2和最大25

请帮忙。

2 个答案:

答案 0 :(得分:0)

一种简单的方法可能是创建一个看起来像这样的函数:

function validateName(strName){
    var nameValide = true;
    if(strName.length<2){ nameValide = false; }
    if(strName.length>25){ nameValide = false; }
    // validate that only the valide caracter are in the string
    if(strName.replace(/a-Z/g,'') != ''){ namValide= false;} 
    return nameValide;
}

答案 1 :(得分:0)

这个正则表达式会这样做:^(?=.*[A-Za-z])(?=.{2,25}$)[\w ]+$ 它使用一系列正向前瞻来检查实际使用有效字符之前的条件。

以下是细分:

(?=.*[A-Za-z])至少需要一个字母

(?=.{2,25}$)整个字符串需要2到25个字符

[\w ]+只允许使用字母,数字,下划线和空格(我不知道你为什么要下划线)