掌握好正则表达式的应用,能给工作带来很大的方便,而且很有意思。今天就来看看电子邮件的验证
首先不用元字符验证电子邮件,当然这个方法比较笨,写的比较长。
js代码如下:
<html>
<head>
<title> New Document </title>
<meta charset="utf-8" />
<script>
function test(){
var email = document.getElementById("email").value;
var reg = /^([0-9a-z_\.-]+)@([0-9a-z\.-]+)\.([a-z]{2,6})$/;
if (reg.test(email))
{
window.alert("是电子邮件");
}else{
window.alert("不是电子邮件");
}
}
</script>
</head>
<body>
<input type="text" id="email"><input type="button" value="验证" onclick="test()">
</body>
</html>
解释一下吧,^([0-9a-z_\.-]+)表示以任意字符开头。至少出现一次;然后出现一次@;然后([0-9a-z\.-]+)表示出现至少一个
字符,其中.是要转义的,所以加了"\";然后出现一次".";最后([a-z]{2,6})$表示2到6个英文字符结尾。
精简模式是:
var reg = /^\w+([\-+\.]w+)*@\w+([\-\.]\w+)*\.\w+([\-\.]\w+)*$/;
"\w"表示英文字符
1.[^0-9]这里的^表示“非”,即不在0到9之间,而/^php/里的^表示开头注意[]和//的区别。
2.需要用到转义的字符分别是: . + () $ / \ ? [ ] ^ { } 务必牢记
可以去看看我写的php正则表达式的文章:php正则表达式以及正则函数详解