Javascript 用于名称验证的正则表达式,至少有一个alpahbet(A-z)
我需要一个正则表达式来验证它应该至少包含一个字母表(a-Z,a-Z)和可选的数字(0-9) 有效名称:Javascript 用于名称验证的正则表达式,至少有一个alpahbet(A-z),javascript,regex,Javascript,Regex,我需要一个正则表达式来验证它应该至少包含一个字母表(a-Z,a-Z)和可选的数字(0-9) 有效名称: aaaa aaaa1 所以 约翰·P·例子 无效名称 1111 @@@@ 到目前为止我试过的正则表达式 [a-zA-Z0-9\.\'\-_\s]{1,20} 及 但两者都不起作用 在这方面,有人能帮忙吗?[a-zA-Z]+.*.[a-zA-Z]+.*.[a-zA-Z]+.*匹配您提供的示例。所以您想要任意数量的a-Z字符或数字,然后至少一个a-Z字符和任意数量的a-Z字符或数字:
- aaaa
- aaaa1
- 所以
- 约翰·P·例子
- 1111
- @@@@
[a-zA-Z0-9\.\'\-_\s]{1,20}
及
但两者都不起作用
在这方面,有人能帮忙吗?
[a-zA-Z]+.*.[a-zA-Z]+.*.[a-zA-Z]+.*
匹配您提供的示例。所以您想要任意数量的a-Z字符或数字,然后至少一个a-Z字符和任意数量的a-Z字符或数字:
^[a-zA-Z0-9]*[a-zA-Z]+[a-zA-Z0-9]*$
这应该可以正常工作。如果您只想检查字符串是否包含字母字符,只需执行以下操作:
/[a-z]/i.test(str)
如果字符串仅由字母数字字符和至少一个字母字符组成:
/^(?=.*[a-z])[a-z\d]+$/i.test(str)
或
否则,[a-zA-Z0-9.\-\s]{1,20}
实际上对我来说很好,但你必须将它锚定到字符串的开头和结尾:
/^[a-zA-Z0-9.'\-_\s]{1,20}$/.test(str)
如果要强制使用字母字符,则必须包括先行项或进行额外的测试,就像前面的示例一样。尝试:
^[a-zA-Z0-9]*[a-zA-Z]+[a-zA-Z0-9]*$
解释:
-
在中间方括号中的“位”(“三明治中的肉”)与字母字符匹配。+在它之后确保至少有一个
- 另外两个方括号内的表达式(“三明治中的面包”)与字母数字字符匹配。每个后面的*允许任意数量的这些
- 围绕整个内容的“^”和“$”确保它是整个文本,而不仅仅是其中的一部分
validateFirstName
。这使我认为它将假定它只应用于第一个名字(例如“John P.示例”中的John)。
/[a-z]/i.test(str) && /^[a-z\d]+$/i.test(str)
/^[a-zA-Z0-9.'\-_\s]{1,20}$/.test(str)