1

我正在寻找写一个正则表达式,我的在线研究让我到处都是。这是我想要做的:

[Required]
[RegularExpression("MyRegExString", ErrorMessage = "Use only valid characters.")]
public string Name { get; set; }

我想让我的用户输入任何字母字符(大写或小写)和数字,有空格,并且只有 _(下划线)、$、#、*、(、)、+、@、、(逗号)、和 '(撇号)。

谁能帮我生成这个字符串?

4

3 回答 3

5

只需将它们全部输入一个字符类,并要求它们整个字符串由该类中的字符组成(分别在开头和结尾放置^和锚点):$

"^[a-zA-Z0-9_ $#*()+@,']*$"

正则表达式还有一个内置的字符类\w,可以匹配字母(大小写)、数字或下划线,允许这个稍短的版本:

"^[\w $#*()+@,']*$"

如果要禁止空字符串,请在末尾使用+而不是。*

于 2012-10-12T18:44:56.720 回答
1

\w表示任何字母字符、数字或下划线。Rest 必须一一添加,但在某些环境中,美元符号应该用 转义\,因为没有它,它代表字符串的结尾。符号^表示字符串的开头。星*的意思是“没有或更多”,[...]意思是“里面的任何字符”。

^[\w \$#*()+@,']*$
于 2012-10-12T18:46:18.123 回答
0

继续^[a-zA-Z]+$添加您想要的任何字符[...]

一些特殊字符需要转义\

例子:

/^[a-zA-Z!”$%&’()*\+,\/;\[\\\]\^_{|}~]+$/
于 2012-10-12T18:53:32.007 回答