Javascript 什么';验证名称的最佳正则表达式是什么?
我正在创建一个web存储,我需要用JavaScripts验证输入,这样用户就不必提交一个表单来获得PHP错误(尽管我也在用PHP验证表单) 我想到的是以下正则表达式:Javascript 什么';验证名称的最佳正则表达式是什么?,javascript,regex,forms,validation,Javascript,Regex,Forms,Validation,我正在创建一个web存储,我需要用JavaScripts验证输入,这样用户就不必提交一个表单来获得PHP错误(尽管我也在用PHP验证表单) 我想到的是以下正则表达式: /^[a-zA-Z]+$/ 但是上面的正则表达式只允许使用alpha字符,而我还希望允许使用诸如'和-之类的字符,因为显然名称也可能包含这两个字符。我的问题是,如何使正则表达式允许alpha字符和上面的两个字符 除此之外,我还有一个问题刚刚浮现在我的脑海中,像ă这样的字符将通过上述验证?将它们添加到您的字符组中,如下所示 /^[
/^[a-zA-Z]+$/
但是上面的正则表达式只允许使用alpha字符,而我还希望允许使用诸如'
和-
之类的字符,因为显然名称也可能包含这两个字符。我的问题是,如何使正则表达式允许alpha字符和上面的两个字符
除此之外,我还有一个问题刚刚浮现在我的脑海中,像
ă
这样的字符将通过上述验证?将它们添加到您的字符组中,如下所示
/^[a-zA-Z'-]+$/
验证姓名的最佳正则表达式是
/^.*$/
,除非你对讨厌中国人、日本人和韩国人以及其他名字用非拉丁字母书写的人很冷淡。我建议不要验证姓名。为什么麻烦?@ShowTime你为什么关心这些角色?如果只是为了拥有“好看的名字数据”,那么你就给自己增加了不必要的编程负担,给用户增加了交互负担。问问自己,你是否有避免使用“怪异”字符的真正商业/应用理由。此外,您还应该阅读jgillich链接上的文章。@ShowTime很好,您认识到了输入验证和输入卫生之间的区别:)。应该注意的是,-
通常应该放在[]
字符类的末尾或开头,如果要将其视为文本-
,为了避免无意中的字符范围。我接受这个回答,因为它回答了最初的问题,尽管我知道没有必要验证名称。