要写正则表达式,首先需要知道数据的规则,常见的邮箱格式如
12345@qq.com
abc.ef@gg.com.cn
第一部分通常由数字、字母、下划线、英文句号、减号构成构成,但是不能以英文句号/下划线/减号结尾,第一部分正则表达式为 \w+([._-]\w+)*
第二部分固定为 “@”
第三部分开头是数字或字母,后面必须有至少一个.**,如.com 或 .com.cn,正则表达式为 \w+(\.\w+)+
合起来为 ^ \w+([._-]\w+)*@\w+(\.\w+)+$
我们来测试一下
var patt=/^\w+([._-]\w+)*@\w+(\.\w+)+$/ console.log(patt.test("12345@qq.com")) //返回true console.log(patt.test("xiaohu.li@ceshi.com")) //返回true console.log(patt.test("xiaohu.li@ceshi.com.cn")) //返回true console.log(patt.test("xiaohu.li@ceshi")) //返回false console.log(patt.test("xiaohu.@ceshi.com")) //返回false