日期:2014-05-20  浏览次数:20639 次

用javascrip编写一个验证的程序
程序的要求主要是验证输入的手机号码是否是移动的号码,具体如下:
1、在文本框中输入的内容可以为空
2、判断如果输入的内容必须为11位的数字,几个11位的数字中间用“,”间隔,为英文逗号。例如:13944445555
                或13855554444,13755556666,1357777888这样的形式,只有符合这样的形式才能够提交才能,这个也是进行判断的
3、判断输入电话号码的前三位为134、135、136、137、138、139、154、155、156、157、158、159中的一个,若输入多个电话号码要对每一个输入的电话号码进行判断
满足上面3个条件则可以正常提交,如果有不正确的地方进行提示。
谢谢,各位高人的指点


------解决方案--------------------
手机号好像是12位吧呵呵 可以用正则表达式来做
------解决方案--------------------
用正则式吧
------解决方案--------------------
(^(\d{4}|\d{4}-)?\d{7}$)|(^(\d{3}|\d{3}-)?\d{8}$)|(^13[013456789]\d{8}$)
转的高手的,这个正则不完全,好像无法check前三位,你可以在这个基础上再将号码提出来对前三位做一个单独的正则
------解决方案--------------------
<script>

function matches()
{
var regex = /^1[35][4-9]\d{8}(,1[35][4-9]\d{8})*$/;
if(document.getElementById( "in1 ").value.match(regex) || document.getElementById( "in1 ").value == " ")
{
return true;
}else
{
alert( "错误 ");
return false;
}
}

</script>
<form onsubmit= "return matches(); " action= "test.jsp ">
<input type= "text " id= "in1 " >
<input type= "submit ">
</form>

简单的例子 自己研究一下

------解决方案--------------------
ms逻辑很简单,但是代码估计有点复杂