我正在使用MVC数据注释,我的要求是地址字段可以包含除< > . ! @ # % / ? *
之外的任何字符(即除了英文字符以外)。
我搜索了很多网站但没有得到如何编写这个正则表达式。
到目前为止,我已经尝试过:
[Required(ErrorMessage = "Address Required.")]
[RegularExpression(@"^[<>.!@#%/]+$", ErrorMessage = "Address invalid.")]
public string Address { get; set; }
答案 0 :(得分:11)
目前,您只允许字符串仅包含这些字母。
使用
"^[^<>.!@#%/]+$"
答案 1 :(得分:10)
让你的正则表达式选择任何字符除以下插入的字符:
[^abc]
将匹配任何不是a,b或c的内容。
所以把它们放在一起,你的正则表达式就是
^[^<>!@#%/?*]+$
请注意,方括号外的插入符号表示“匹配行的开头”,但方括号内表示“匹配任何不以下任何内容”
答案 2 :(得分:1)
尝试是正则表达式:
[^<>.!@#%/?*]
答案 3 :(得分:1)
这应该做的工作:
“[^&LT;&GT;!@#%/]”
修改强>:
。 (点)是正则表达式中的保留字符,因此您需要将其转义。