我有一个正则表达式,仅接受具有以下模式的电子邮件。
@ stanford.edu.uk或word.edu.word
这里是/(\.edu\.\w\w\w?)$/
看来这仅在.edu后跟“ .xx”时才有效(例如:school.edu.au或college.edu.uk)。我还需要它来处理以.edu结尾的电子邮件(例如:school.edu或student.college.edu)
我尝试了这个:
/(\.w+\.w+\.edu)$/
有谁能帮上忙吗?
最佳答案
您的(\.edu\.\w\w\w?)$
模式需要一个.
,并且在字符串末尾后必须有2至3个字符,因此它不能与末尾带有.edu
的字符串匹配。
您可以使用
\.edu(?:\.\w{2,3})?$
请参见regex demo
细节
\.edu
-一个.edu
子字符串(?:\.\w{2,3})?
-可选的非捕获组,匹配出现1或0\.
-点\w{2,3}
-2至3个字字符$
-字符串结尾。请注意,
\w
匹配字母,数字和_
。如果只想匹配字母([a-zA-Z]
仅用于处理ASCII,或使用ECMAScript 2018支持的\p{L}
Unicode属性类(不适用于较旧的浏览器),或构建自己的pattern to support all Unicode letters,则可能需要对此位进行精确调整。 )。另外,请考虑通过How to validate an email address using a regular expression?
关于javascript - 正则表达式问题模式不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50941566/