我需要限制一个字符串只允许字母、数字、连字符、&符号、撇号和单个空格。
经过一番搜索,我已经找到了以下内容:
^[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; }