如何验证此表格的电子邮件地址:[email protected]
问题描述:
我想知道一个正则表达式: 此表单的电子邮件地址:[email protected]。 AU如何验证此表格的电子邮件地址:[email protected]
几个问题:
“的学生。”是可选的,可以是任何词,例如“老师”。
“324234234”可以是任何字母数字字符(数字,文字,_等)
的电子邮件必须在结束“uws.edu.au”
这是我到目前为止有:
/(\d*)@\w*\.uws\.edu\.au/
有效地址:
[email protected] [email protected] [email protected]
等
谢谢你们
答
你说:
刚试过/(\w*)@(\w*.)?uws.edu.au/和似乎工作。欢迎任何进一步的建议 - 杰森4秒前
您的正则表达式匹配"@teacher.uws.edu.au"
(即“名称部分”省略)。
为了解决这个问题,你可以使用:
/(\w+)@(\w+\.)?uws\.edu\.au/
这将需要在名称部分至少一个字符,以及至少一个字符前点(如果有一个点)的子域点。
而且(我认为)\w
将不匹配.
(也可能是你关心的名称部分过其他字符),所以[email protected]
将无法匹配。下面将添加字符.
,_
,和-
成“名”部分:
/([\w\._-]+)@(\w*\.)?uws\.edu\.au/
你可以添加你以同样的方式需要任何其他字符。
注:匹配的电子邮件地址一般比你想象的更复杂的东西(很多奇怪的事情是技术上允许电子邮件地址Here is an article on the subject(市面上有许多类似的信息)许多其他来源
。
答
三个想法:
- 更改初始
\d
到\w
匹配 “字” 字符[A-ZA-Z0-9_],而不仅仅是数字。 - 请使用
?
- 使用
+
而不是*
匹配用户名和子域时,子域可选。否则@.uws.edu.au
将验证。
建议:
/\[email protected](\w+\.)?uws\.edu\.au/
你必须逃避'.'否则它匹配任何东西 – leppie 2010-11-05 04:18:27
什么是不清楚的问题?似乎有点斗气投票给我,但没有说明为什么。 – Jason 2010-11-05 04:36:49
那么在第一部分有效的其他字符呢?电子邮件地址?如'$','&','''和'#' – EmFi 2010-11-05 04:39:43