1

嗨,我的 MVC 3 模型中有一个名为 UserName 的字段。此属性可以是有效的电子邮件地址,也可以是有效的 AlphaNumeric。我如何编写 Regex Express 来检查这两件事(有效的电子邮件或有效的字母数字)。

我正在使用的有效电子邮件表达式是

"^[_a-zA-Z0-9\'-]+(\.[_a-zA-Z0-9\'-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(name))$"
4

2 回答 2

0

假设您要匹配的字母数字字符串而不是电子邮件地址真的只是A-Zand 0-9,您可以使用您已经拥有的...

^[_a-zA-Z0-9\'-]+(\.[_a-zA-Z0-9\'-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(name))$

...并用管道将其括在括号中以将其指示为可选组...

^([_a-zA-Z0-9\'-]+(\.[_a-zA-Z0-9\'-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(name))|[a-zA-Z0-9]+)$

这似乎是一个过于简单的解决方案,给出你迄今为止所做的工作,这让我想知道这是否有一些问题???

于 2013-03-27T01:36:38.133 回答
0

如果你想要字母数字(必须包含单个字母和单个数字)试试这个

(?=[0-9a-zA-Z]*[a-zA-Z][0-9a-zA-Z]*)(?=[0-9a-zA-Z]*[0-9][0-9a-zA-Z]*)(^[0-9a-zA-Z]+$)
于 2013-03-27T03:20:44.623 回答