js判断手机号问题

JavaScript047

js判断手机号问题,第1张

因为看不到图片,所以给你写个大概,你参考下

var phone = document.getElementById("phone_input_id")

//这里是你判断是否填入了文字

var phoneReg = /^1[358]\d{9}$/意思为只能是1开头第二位是358中的一个 后面9个数字

if(phoneReg.test(phone) == false){

alert(填写的手机号码格式不正确)

return false

}

备注: 表单验证 多学习一下正则表达式;

判断位数,或者可以将相关数字加入判断中。

<script>

var regBox = {

regEmail : /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/,   //....邮箱

regName : /^[a-z0-9_-]{3,16}$/,                       //....用户名

regMobile : /^0?1[3|4|5|8][0-9]\d{8}$/,                 //....手机

regTel : /^0[\d]{2,3}-[\d]{7,8}$/                     //....电话

}

var mymail = '2252046489@qq.com'

var myusername = 'akgdk好123'

var mobile = '18758089867'

var tel = '0575-7678899'

var mailflag = regBox.regEmail.test(mymail)

var nameflag = regBox.regName.test(myusername)

var mflag = regBox.regMobile.test(mobile)

var tflag = regBox.regTel.test(tel)

if(!mailflag){

alert("输入的邮箱有误!")

}

else if(!nameflag){

alert("输入的用户名含有非法字符!")

}

else if(!(mflag&&tflag)) {

alert("手机或者电话有误!")

}

else{

alert("输入的信息正确!")                           

}

</script>

函数checkphone里的参数是控件id的值 ,phone-error是自己定义了一个P标签的id值。其他方法如下:

jQuery.validator.addMethod("chrnum", function (value, element) {

var chrnum = /^1[3|4|5|8]\d{9}$/

return this.optional(element) || (chrnum.test(value))

}, "必须输入正确格式的手机号")

扩展资料:

JavaScript判断电话号码函数:

判断语句分两大类跟一个小类,常用的if与相对不怎么常用的switch,没错switch当然是判断语句。

不要忘了常用的三目运算符:x ? y : z。

1、if语法:

判断是否为真,为真则执行。

2、if单独:

形如:

// 单句if(条件) 语句// 多语句if(条件) {

语句}

为单独的if语句,两者区别在于后面语句是否为单句,若单句则推荐使用无大括号的,非单句则必须使用大括号。

3、if...else语句:

形如:

// 都是单句if(条件) 语句1else 语句2// 单双混合if(条件) {

语句1} else 语句2// 单双混合if(条件) 语句1else {

语句2}// 多语句if(条件) {

语句1} else {

语句2}

与if单独语法比起来多了一个else语法,很明显,就是当不满足if条件的时候,即语句1不执行的情况下,会执行else下的语句2。

function checkMobile(){

var sMobile = document.mobileform.mobile.value

if(!(/^1[3|4|5|8][0-9]\d{4,8}$/.test(sMobile))){

alert("不是完整的11位手机号或者正确的手机号前七位")

document.mobileform.mobile.focus()

return false

}

}

根据国际电信联盟的规定,国际电话的拨打规则是:拨出地国际冠码+接受国家代码+区号+电话号码,用手机拨打的话,就不需要输入国际冠码了,因为可以用“+”替代。

中国的国际冠码是00、国家代码是86,美国分别是011和1。