邮箱正则表达式校验的 JavaScript 代码如下:
function validateEmail(email) {var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return re.test(email);}
使用时,只需调用validateEmail
函数,并传入要校验的邮箱地址即可。如果校验通过,函数返回true
,否则返回false
。
例如:
console.log(validateEmail('test@')); // trueconsole.log(validateEmail('invalid@example')); // false
正则表达式详解:
^
和$
分别表示字符串的开头和结尾。
[^<>()[\]\\.,;:\s@\"]+
表示匹配一个或多个不包含<>()[]\.,;:@"
的字符。
\.[^<>()[\]\\.,;:\s@\"]+
表示匹配一个或多个不包含<>()[]\.,;:@"
的字符,并以.
开头。
\"
表示匹配一个双引号。
@
表示匹配一个 @ 符号。
(\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])
表示匹配一个形如[0.0.0.0]
的 IP 地址,其中0-9
表示匹配一个数字,{1,3}
表示匹配 1 到 3 个这样的