js結(jié)合正則實(shí)現(xiàn)國(guó)內(nèi)手機(jī)號(hào)段校驗(yàn)
附加一個(gè)utils對(duì)象,內(nèi)含一個(gè)校驗(yàn)手機(jī)號(hào)函數(shù),一個(gè)格式化返回?cái)?shù)據(jù)函數(shù)
var isChinaMobile = /^134[0-8]\d{7}$|^(?:13[5-9]|147|15[0-27-9]|178|18[2-478])\d{8}$/; //移動(dòng)方面最新答復(fù)
var isChinaUnion = /^(?:13[0-2]|145|15[56]|176|18[56])\d{8}$/; //向聯(lián)通微博確認(rèn)并未回復(fù)
var isChinaTelcom = /^(?:133|153|177|18[019])\d{8}$/; //1349號(hào)段 電信方面沒(méi)給出答復(fù),視作不存在
var isOtherTelphone = /^170([059])\d{7}$/;//其他運(yùn)營(yíng)商
var utils = {
checkMobile: function(telphone){
telphone = this.trim(telphone);
if(telphone.length !== 11){
return this.setReturnJson(false, '未檢測(cè)到正確的手機(jī)號(hào)碼');
}
else{
if(isChinaMobile.test(telphone)){
return this.setReturnJson(true, '移動(dòng)', {name: 'ChinaMobile'});
}
else if(isChinaUnion.test(telphone)){
return this.setReturnJson(true, '聯(lián)通', {name: 'ChinaUnion'});
}
else if(isChinaTelcom.test(telphone)){
return this.setReturnJson(true, '電信', {name: 'ChinaTelcom'});
}
else if(isOtherTelphone.test(telphone)){
var num = isOtherTelphone.exec(telphone);
return this.setReturnJson(true, '', {name: ''});
}
else{
return this.setReturnJson(false, '未檢測(cè)到正確的手機(jī)號(hào)碼');
}
}
},
setReturnJson: function(status, msg, data){
if(typeof status !== 'boolean' && typeof status !== 'number'){
status = false;
}
if(typeof msg !== 'string'){
msg = '';
}
return {
'status': status,
'msg': msg,
'data': data
};
}
}
驗(yàn)證130-139,150-159,180-189號(hào)碼段的手機(jī)號(hào)碼
<script type="text/javascript">
var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
if(!myreg.test($("#phone").val()))
{
alert('請(qǐng)輸入有效的手機(jī)號(hào)碼!');
return false;
}
</script>
以上代碼是在jquery下調(diào)試的。
不需要jquery的代碼
function validatemobile(mobile)
{
if(mobile.length==0)
{
alert('請(qǐng)輸入手機(jī)號(hào)碼!');
document.form1.mobile.focus();
return false;
}
if(mobile.length!=11)
{
alert('請(qǐng)輸入有效的手機(jī)號(hào)碼!');
document.form1.mobile.focus();
return false;
}
var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
if(!myreg.test(mobile))
{
alert('請(qǐng)輸入有效的手機(jī)號(hào)碼!');
document.form1.mobile.focus();
return false;
}
}
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
相關(guān)文章
在layui下對(duì)元素進(jìn)行事件綁定的實(shí)例
今天小編就為大家分享一篇在layui下對(duì)元素進(jìn)行事件綁定的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
js動(dòng)態(tài)設(shè)置鼠標(biāo)事件示例代碼
動(dòng)態(tài)設(shè)置鼠標(biāo)事件的方法有很多,接下來(lái)為大家介紹下js中是如何做到的,感興趣的朋友不要錯(cuò)過(guò)2013-10-10
一個(gè)JavaScript繼承的實(shí)現(xiàn)
一個(gè)JavaScript繼承的實(shí)現(xiàn)...2006-10-10
如何利用Promises編寫(xiě)更優(yōu)雅的JavaScript代碼
如何利用Promises編寫(xiě)更優(yōu)雅的JavaScript代碼?下面小編就為大家?guī)?lái)一篇用Promises編寫(xiě)更優(yōu)雅的JavaScript代碼。希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2016-05-05
JS實(shí)現(xiàn)同一個(gè)網(wǎng)頁(yè)布局滑動(dòng)門和TAB選項(xiàng)卡實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)同一個(gè)網(wǎng)頁(yè)布局滑動(dòng)門和TAB選項(xiàng)卡效果,通過(guò)簡(jiǎn)單的自定義切換函數(shù)setTab實(shí)現(xiàn)頁(yè)面元素的遍歷及屬性切換的功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
JS獲得選取checkbox整行數(shù)據(jù)的方法
這篇文章主要介紹了JS獲得選取checkbox整行數(shù)據(jù)的方法,涉及使用js對(duì)DOM節(jié)點(diǎn)的操作技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-01-01
原生Js與jquery的多組處理, 僅展開(kāi)一個(gè)區(qū)塊的折疊效果
同一個(gè)頁(yè)面, 有多組(不固定), 每組區(qū)塊數(shù)量不一定一樣的小區(qū)塊. 要求每次只展開(kāi)一個(gè)區(qū)塊,需要的朋友可以參考下。2011-01-01
兩個(gè)listbox實(shí)現(xiàn)選項(xiàng)的添加刪除和搜索
listbox竟然可以實(shí)現(xiàn)選項(xiàng)的添加刪除和搜索不可思議吧,至于采用什么樣的方法實(shí)現(xiàn)的,具體代碼祥看本文嘍,或許可以幫助到你2013-03-03

