正则表达式 - 仅允许字符串内的单个空格

4

我需要限制一个字符串只允许字母、数字、连字符、&符号、撇号和单个空格。

经过一番搜索,我已经找到了以下内容:

^[A-Za-z0-9-'&\s]{1,}$

但是这样允许有双空格。我该如何编写正则表达式,以便仅允许单个空格(可能根本没有)?

3个回答

7

匹配任何其他允许的值,后面可以跟一个可选的空格:

^\s?([A-Za-z0-9-'&]\s?){1,}$

我还在开头添加了一个可选项,如果允许的话


1
Try this
^([A-Za-z0-9-'&]+\s?)+$

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; }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接