【发布时间】:2013-08-09 10:47:55
【问题描述】:
我需要将字符串限制为只允许使用字母、数字、连字符、与号、撇号和单个空格。
到目前为止,我通过一些搜索得到了这个:
^[A-Za-z0-9-'&\s]{1,}$
但这允许使用双空格。如何编写正则表达式以使其只允许单个空格(可能根本没有空格)?
【问题讨论】:
我需要将字符串限制为只允许使用字母、数字、连字符、与号、撇号和单个空格。
到目前为止,我通过一些搜索得到了这个:
^[A-Za-z0-9-'&\s]{1,}$
但这允许使用双空格。如何编写正则表达式以使其只允许单个空格(可能根本没有空格)?
【问题讨论】:
匹配任何其他允许的值,后跟一个可选的单个空格:
^\s?([A-Za-z0-9-'&]\s?){1,}$
(如果允许的话,我还在开头添加了一个可选的)
【讨论】:
Try this
^([A-Za-z0-9-'&]+\s?)+$
【讨论】:
我尝试过不同的场景,它适用于我 ^\b(?!.*?\s{2})[A-Za-z0-9 ]{1,50}\b$
[RegularExpression(@"^\b(?!.*?\s{2})[A-Za-z0-9 ]{1,50}\b$", ErrorMessage ="String is not valid"]
public string FirstName{ get; set; }
【讨论】: