JavaScript的正则表达式验证
1、邮箱的正则表达式验证
正常一个邮箱的形式
xxxx @ xxxx .
xxxx
字母数字或者下划线都可以 @ 字母或者数字 .
字母
\w+
@
[a-z0-9]+
\.
[a-z]+
故组合起来的正则表达式是/\w+@[a-z0-9]+\.[a-z]+/i
;
<input type="text" id="txt"/>
<input type="button" value="校验" id="btn"/>
<script type="text/javascript">
window.onload = function(){
var txt = document.getElementById('txt');
var btn = document.getElementById('btn');
btn.onclick = function(){
var re = /\w+@[a-z0-9]+\.[a-z]+/i;
if(re.test(txt.value)){
alert('合法的邮箱');
}else{
alert('不合法的邮箱');
}
}
}
</script>
因为正则表达式的test()
方法用于检测一个字符串是否匹配某个模式,如果字符串string
中含有与RegExp
匹配的文本,意思相当于子集被父集包含的关系,则返回true
,否则返回false
。
所以需要对上述式子进行修改,因为需要的不是被父集包含的关系,需要的是恒等的关系。
var re = /^\w+@[a-z0-9]+\.[a-z]+$/i;
加上行首,行尾的匹配就可以了。