我正在寻找一个正则表达式,我的在线研究让我到处都是。这就是我要做的事情:
[Required]
[RegularExpression("MyRegExString", ErrorMessage = "Use only valid characters.")]
public string Name { get; set; }
我想允许我的用户输入任何字母字符(大写或小写),数字,有空格,只有_(下划线),$,#,*,(,),+,@,(逗号)和'(撇号)。
任何人都可以帮我生成这个字符串吗?
答案 0 :(得分:5)
只需将它们全部输入到一个字符类中,并要求它们整个字符串由此类中的字符组成(分别在开头和结尾放置^
和$
个锚点):
"^[a-zA-Z0-9_ $#*()+@,']*$"
正则表达式还有一个内置字符类\w
,它匹配字母(大写和小写),数字或下划线,允许这个稍短的版本:
"^[\w $#*()+@,']*$"
如果您想禁止使用空字符串,请在末尾使用+
代替*
。
答案 1 :(得分:1)
\w
表示任何字母字符,数字或下划线。休息必须逐个添加,但在某些环境中,美元符号应该由\
转义,因为没有它会表示字符串的结尾。符号^
表示字符串的开头。明星*
具有“无或更多”的含义,[...]
具有“内部任何角色”的含义。
^[\w \$#*()+@,']*$
答案 2 :(得分:0)
使用^[a-zA-Z]+$
并在[...]
内添加您想要的任何字符。
某些特殊字符需要\
转义。
示例:
/^[a-zA-Z!”$%&’()*\+,\/;\[\\\]\^_{|}~]+$/