繁体   English   中英

正则表达式-至少一个字母数字字符并允许空格

[英]Regex - At least one alphanumeric character and allow spaces

我想确保名字字段至少包含一个字母数字字符,并且还允许使用空格和破折号。

**VALID**

David
Billie Joe
Han-So

**INVALID**
-

Empty is also invalid

使用这种模式

^(?=.*[a-zA-Z])[a-zA-Z -]+$  

演示版

哦,用于字母数字

^(?=.*[a-zA-Z0-9])[a-zA-Z 0-9-]+$ 

为确保破折号和空格出现在合法的地方,请使用以下命令:

(?i)^[a-z]+(?:[ -]?[a-z]+)*$

参见演示

  • (?i)使我们进入不区分大小写的模式
  • ^确保我们在字符串的开头
  • [az]+匹配一个或多个字母
  • [ -]?[az]+匹配可选的单个空格或破折号,后跟字母...
  • (?:[ -]?[az]+)*并且允许零次或多次
  • $断言我们已经到达字符串的末尾

您提到了alphanumeric ,因此万一您还希望允许数字:

(?i)^[a-z0-9]+(?:[ -]?[a-z0-9]+)*$

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM