Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.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 - Fatal编程技术网

Javascript 为firstname和lastname创建正则表达式

Javascript 为firstname和lastname创建正则表达式,javascript,Javascript,我试图创建一个正则表达式,它一开始不允许有空格,但它只允许单词之间有空格,不允许有特殊字符/数字。 例如:约翰·威克 我正在尝试使用以下正则表达式: /^[a-zA-Z_][a-zA-Z_]*[a-zA-Z_]$/g /^[a-zA-Z]+\s[a-zA-Z]+$/g [a-zA-Z]:匹配单个字符 +:1和未限制之间的匹配 \s:空格 [a-zA-Z]:匹配单个字符 +:1和未限制之间的匹配 \s:空白此给定正则表达式将用于 let name = 'Ashish Mishra'; let

我试图创建一个正则表达式,它一开始不允许有空格,但它只允许单词之间有空格,不允许有特殊字符/数字。 例如:约翰·威克 我正在尝试使用以下正则表达式: /^[a-zA-Z_][a-zA-Z_]*[a-zA-Z_]$/g

/^[a-zA-Z]+\s[a-zA-Z]+$/g
[a-zA-Z]:匹配单个字符

+:1和未限制之间的匹配

\s:空格

[a-zA-Z]:匹配单个字符

+:1和未限制之间的匹配


\s:空白

此给定正则表达式将用于

 let name = 'Ashish Mishra';
 let reg = /^[a-zA-Z]+\s[A-Za-z]*$/g
 alert(reg.test(name))

这个给定的正则表达式将用于

 let name = 'Ashish Mishra';
 let reg = /^[a-zA-Z]+\s[A-Za-z]*$/g
 alert(reg.test(name))

这个正则表达式确保有两个词:名字和姓氏,不多不少。字符串不能以空格开头,必须以字母结尾。名字和姓氏都必须以大写字母开头,后跟0个或多个小写字母,可能一个名字只有一个字母。如果名字和姓氏必须有多个字符,只需将星号替换为长毛绒符号即可


^[A-Z][A-Z]*\s[A-Z][A-Z]*$

此正则表达式确保有两个词:名字和姓氏,不多不少。字符串不能以空格开头,必须以字母结尾。名字和姓氏都必须以大写字母开头,后跟0个或多个小写字母,可能一个名字只有一个字母。如果名字和姓氏必须有多个字符,只需将星号替换为长毛绒符号即可


^[A-Z][A-Z]*\s[A-Z][A-Z]*$

*:0和未限制之间的匹配-这就是为什么您应该在此处以+开头-否则,单个空格字符将作为有效的“firstname lastname”组合传递到此处,而这肯定不是预期的结果。此外,您还删除了在开始和结束处对模式的锚定,因此,名称前后的任何任意内容都是允许的-我想这也不是OP想要的。是的,谢谢,我编辑了答案*:0和unilimited之间的匹配-这就是为什么您应该首先在此处使用+的原因-否则,一个空格字符在此处作为有效的“firstname lastname”组合传递,这当然不是预期的结果。此外,您删除了模式在开始和结束时的锚定,因此名称前后的任意内容也将被允许-我想这也不是OP想要的。是的,谢谢,我编辑了answer@Gimby哦,是的,对了,里面有一个空格字符,我忽略了。但是由于它是在字符类中,所以它仍然允许任意数量的空格,所以OP所做的任何事情都不是正确的。存在带有连字符、撇号和空格的名称。有时名字不是第一个。你是不是限制过度了?还是这是一个练习?@Gimby哦,是的,对了,里面有一个空格字符,我忽略了。但是由于它是在字符类中,所以它仍然允许任意数量的空格,所以OP所做的任何事情都不是正确的。存在带有连字符、撇号和空格的名称。有时名字不是第一个。你是不是限制过度了?或者这是一个练习?