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 什么';验证名称的最佳正则表达式是什么?_Javascript_Regex_Forms_Validation - Fatal编程技术网

Javascript 什么';验证名称的最佳正则表达式是什么?

Javascript 什么';验证名称的最佳正则表达式是什么?,javascript,regex,forms,validation,Javascript,Regex,Forms,Validation,我正在创建一个web存储,我需要用JavaScripts验证输入,这样用户就不必提交一个表单来获得PHP错误(尽管我也在用PHP验证表单) 我想到的是以下正则表达式: /^[a-zA-Z]+$/ 但是上面的正则表达式只允许使用alpha字符,而我还希望允许使用诸如'和-之类的字符,因为显然名称也可能包含这两个字符。我的问题是,如何使正则表达式允许alpha字符和上面的两个字符 除此之外,我还有一个问题刚刚浮现在我的脑海中,像ă这样的字符将通过上述验证?将它们添加到您的字符组中,如下所示 /^[

我正在创建一个web存储,我需要用JavaScripts验证输入,这样用户就不必提交一个表单来获得PHP错误(尽管我也在用PHP验证表单)

我想到的是以下正则表达式:

/^[a-zA-Z]+$/
但是上面的正则表达式只允许使用alpha字符,而我还希望允许使用诸如
'
-
之类的字符,因为显然名称也可能包含这两个字符。我的问题是,如何使正则表达式允许alpha字符和上面的两个字符


除此之外,我还有一个问题刚刚浮现在我的脑海中,像
ă
这样的字符将通过上述验证?

将它们添加到您的字符组中,如下所示

/^[a-zA-Z'-]+$/

验证姓名的最佳正则表达式是
/^.*$/
,除非你对讨厌中国人、日本人和韩国人以及其他名字用非拉丁字母书写的人很冷淡。我建议不要验证姓名。为什么麻烦?@ShowTime你为什么关心这些角色?如果只是为了拥有“好看的名字数据”,那么你就给自己增加了不必要的编程负担,给用户增加了交互负担。问问自己,你是否有避免使用“怪异”字符的真正商业/应用理由。此外,您还应该阅读jgillich链接上的文章。@ShowTime很好,您认识到了输入验证和输入卫生之间的区别:)。应该注意的是,
-
通常应该放在
[]
字符类的末尾或开头,如果要将其视为文本
-
,为了避免无意中的字符范围。我接受这个回答,因为它回答了最初的问题,尽管我知道没有必要验证名称。