Regex -至少一个字母数字字符,允许空格
本文关键字:空格 数字字符 许空格 一个 Regex | 更新日期: 2023-09-27 18:09:36
我想确保一个名字字段至少有一个字母数字字符,也允许空格和破折号
**VALID**
David
Billie Joe
Han-So
**INVALID**
-
Empty is also invalid
要确保破折号和空格出现在合法的位置,请使用:
(?i)^[a-z]+(?:[ -]?[a-z]+)*$
看演示。
-
(?i)
使我们进入不区分大小写模式 -
^
确保我们位于字符串 的开头 -
[a-z]+
匹配一个或多个字母 -
[ -]?[a-z]+
匹配可选的单空格或后面跟着字母的破折号… -
(?:[ -]?[a-z]+)*
,允许0次或多次 -
$
断言我们已经到达字符串 的末尾
你提到了alphanumeric
,所以如果你还想允许数字:
(?i)^[a-z0-9]+(?:[ -]?[a-z0-9]+)*$
使用此模式
^(?=.*[a-zA-Z])[a-zA-Z -]+$
演示哦,对于字母数字使用
^(?=.*[a-zA-Z0-9])[a-zA-Z 0-9-]+$