Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript firstname和lastname的正则表达式_Javascript_Regex - Fatal编程技术网

Javascript firstname和lastname的正则表达式

Javascript firstname和lastname的正则表达式,javascript,regex,Javascript,Regex,正在验证firstname和lastname字段。以下是要求 块特殊字符 至少一个字母表 允许使用字母数字 我正在使用这个正则表达式: firstNamenoSpecialChar: /^[a-zA-Z0-9\s_]*[a-zA-Z][a-zA-Z0-9\s]*$/ 我需要再增加一个条件:长度应该是最小2,最大25 请提供帮助。一个简单的方法是创建一个如下所示的函数: function validateName(strName){ var nameValide = true;

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

  • 块特殊字符
  • 至少一个字母表
  • 允许使用字母数字
我正在使用这个正则表达式:

firstNamenoSpecialChar:

/^[a-zA-Z0-9\s_]*[a-zA-Z][a-zA-Z0-9\s]*$/
我需要再增加一个条件:长度应该是最小2,最大25


请提供帮助。

一个简单的方法是创建一个如下所示的函数:

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;
}
函数validateName(strName){
var nameValide=true;
如果(strName.length25){nameValide=false;}
//验证字符串中是否只有valide字符
if(strName.replace(/a-Z/g,,)!=“”){namValide=false;}
返回nameValide;
}

此正则表达式将执行此操作:
^(?=.[A-Za-z])(?=.{2,25}$)[\w]+$
在实际使用有效字符之前,它使用一系列肯定的lookahead来检查条件

以下是分类:

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

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


[\w]+
只允许字母、数字、下划线和空格(但我不知道为什么您需要下划线)

我希望您只在游戏中使用,而不是在现实世界中使用。。。有许多真实的名字和姓氏你会拒绝。如果我的名字是精武? :(像“Müller”这样的德语名字会被阻止吗?“特殊字符”的主要要求是在这些字段传递给其他用户创建工具时阻止引用,这些工具在看到单个引号时会中断。因此包括“特殊字符”因为我们需要阻止船上那些可见的特殊字符…谢谢…我就把这个留在这里:我觉得你真的值得那些徽章和声誉,因为至少你做了一些尝试…如果你有一些关于这个主题的好链接,也会很有帮助…谢谢。。