时间:2020-10-25 14:42:32 | 栏目:JavaScript代码 | 点击:次
js判断手机号是否正确并返回的代码,具体代码如下所示:
<form method="post" action="login.php" onsubmit="return abc()"> <input type="text" id="phone" /> <input type="submit" value="登录"/> </form> <script type="text/javascript"> function abc() { var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; if(!myreg.test($("#phone").val())) { alert('请输入有效的手机号码!'); return false; } callback(); } </script>
上述js判断的是130-139,150-159,180-189号段的,如果需要别的号段,自行添加
效果是 点击登录按钮时,如果手机号不对 不做任何跳转
PS:JS判断手机号是否正确(正则表达式)
/^13d{9}$/g||/^15[8,9]d{8}$/g
其中 ^ 是以什么开头的意思, $ 是以什么结尾的意思,d 匹配是任意一位数字,后面跟着的{9}是指d重复的次数,相当于dddddddd这个正则表达式匹配的是以13开头和以任意9个数字结尾的字串, / 是正则表达式的分界符,后面跟着的 g 呢,是对指定的字串全局匹配(不加则只匹配第一个),事实上有这个 g 和没有 g 在这里的情况是一样的,test方法返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式,如存在则返回 true,否则返回 false。
g表示全局,全部,也就是文本内所有符合条件的,没有这个g的话,只匹配一次。
.test(),是前面那个/^....$/g,也就是正则表达式的一个方法。
下面是一段完整的监测代码,供大家参考:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> <script language="javascript"> function chk() { var tel = document.all("text").value; if(/^13d{9}$/g.test(tel)||(/^15[8,9]d{8}$/g.test(tel))) { alert("手机号正确"); } else { alert("手机号错误"); } } </script> </HEAD> <BODY> <form method="" action=""> 手机号:<input type="text" name="text"> <input type="button" value="检测" onclick="chk()"> </form> </BODY> </HTML>
验证中国固定电话号码:
((d{3,4})|d{3,4}-|s)?d{8}