我需要将字符串限制为仅允许字母,数字,连字符,&符号,撇号和单个空格。
到目前为止,我已经有了一些搜索:
^[A-Za-z0-9-'&\s]{1,}$
但这允许双倍空格。如何编写正则表达式以便它只允许单个空格(可能根本没有)?
答案 0 :(得分:7)
匹配任何其他允许的值,后跟可选的单个空格:
^\s?([A-Za-z0-9-'&]\s?){1,}$
(如果允许的话,我还在开头添加了一个可选的)
答案 1 :(得分:1)
Try this
^([A-Za-z0-9-'&]+\s?)+$
答案 2 :(得分:0)
我尝试了不同的情况,对我来说很好 ^ \ 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; }