我想知道一个可以验证的正则表达式: 此表格的电子邮件地址:234903284@student.uws.edu.au
几个问题:
“学生”。是可选的,可以是任何单词,例如“老师”。
“324234234”可以是任何字母数字字符(数字,单词,_等)
电子邮件必须以“uws.edu.au”结尾
这是我到目前为止所做的:
/(\d*)@\w*\.uws\.edu\.au/
有效地址:
me@uws.edu.au 234234324@student.uws.edu.au theking@teacher.uws.edu.au
等
谢谢大家
答案 0 :(得分:4)
三个想法:
\d
更改为\w
以匹配“字”字符[a-zA-Z0-9_],而不仅仅是数字。?
+
代替*
。否则@.uws.edu.au
将验证。建议:
/\w+@(\w+\.)?uws\.edu\.au/
答案 1 :(得分:2)
你说:
刚试过/(\\ n * *)@(\w*.)?uws.edu.au/这似乎有效。欢迎任何进一步的建议 - 杰森4秒前
您的正则表达式将匹配"@teacher.uws.edu.au"
(即省略“名称部分”)。
要解决此问题,您可以使用:
/(\w+)@(\w+\.)?uws\.edu\.au/
这将需要名称部分中至少有一个字符,并且子域中点(如果有点)之前至少有一个字符。
另外(我认为)\w
将不匹配.
(也可能是您在名称部分中关注的其他字符),所以{{1}将无法匹配。以下内容会将字符bob.jones@student.uws.edu.au
,.
和_
添加到“名称”部分:
-
你可以用同样的方式添加你需要的任何其他字符。
注意:匹配电子邮件地址一般比您想象的更复杂(许多奇怪的事情在技术上允许在电子邮件地址中使用。Here is an article on the subject(还有许多类似信息的其他来源。)