Axe*_*xel 1 javascript regex email
我知道这个问题以前被问过很多次,但我还没有找到任何真正满足电子邮件地址必须满足的所有条件才能被视为有效的内容。
\n考虑以下作为电子邮件地址的结构:
\npart1@part2.part3.part4\nRun Code Online (Sandbox Code Playgroud)\n第 1 部分=用户名
\n第2部分=域
\n第3部分和第4部分=顶级域
\n这些是必须满足的所有条件:
\n这是我当前使用的正则表达式:
\n^([\\w\\.\\-]+)@([\\w\\-]+)((\\.(\\w){2,9})+)$\nRun Code Online (Sandbox Code Playgroud)\n但不满足条件:4、5、6、7和8
\n我只是想弄清楚如何补充我的正则表达式并在这个过程中学习。
\n这是无效电子邮件的列表
\nmkyong \xe2\x80\x93 必须包含 \xe2\x80\x9c@\xe2\x80\x9d 符号
\nmkyong123@.com \xe2\x80\x93 域不能以点 \xe2\x80\x9c.\xe2\x80\x9d 开头
\nmkyong()*@gmail.com \xe2\x80\x93 email\xe2\x80\x99s 只允许字符、数字、下划线和破折号
\nmkyong@%*.com \xe2\x80\x93 email\xe2\x80\x99s tld 只允许字符和数字
\nmkyong..2002@gmail.com \xe2\x80\x93 双点 \xe2\x80\x9c.\xe2\x80\x9d 不允许
\nmkyong.@gmail.com \xe2\x80\x93 email\xe2\x80\x99s 最后一个字符不能以点结尾 \xe2\x80\x9c.\xe2\x80\x9d
\nmkyong@mkyong@gmail.com \xe2\x80\x93 双 \xe2\x80\x9c@\xe2\x80\x9d 不允许
\nmkyong@gmail.com.1a -email\xe2\x80\x99s tld 有两个字符不能包含数字
\n有效的:
\nmkyong@yahoo.com
\nmkyong-100@yahoo.com
\nmkyong.100@yahoo.com
\nmkyong111@mkyong.com
\nmkyong-100@mkyong.net
\nmkyong.100@mkyong.com.au
\nmkyong@1.com
\nmkyong@gmail.com.com
\nmkyong-100@yahoo-test.com
\n根据您的有效和无效电子邮件地址列表,这是我能做的最好的事情:
\n\n^([\\w-]|(?<!\\.)\\.)+[a-zA-Z0-9]@[a-zA-Z0-9]([\\w\\-]+)((\\.([a-zA-Z]){2,9})+)$\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n更新:
\n\n^([\\w-]|(?<!\\.)\\.)+[a-zA-Z0-9]@[a-zA-Z0-9]([a-zA-Z0-9\\-]+)((\\.([a-zA-Z]){2,9}){0\xe2\x80\x8c\xe2\x80\x8b,2})$\nRun Code Online (Sandbox Code Playgroud)\n