手機(jī)號(hào)碼驗(yàn)證方法(正則驗(yàn)證)
只允許輸入數(shù)字
<xsl:attribute name="onkeyup">value=value.replace(/[^\d]/g,'')</xsl:attribute> <xsl:attribute name="onbeforepaste">clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))</xsl:attribute>
//固定電話只要有一個(gè)填寫即可 $('.form-inline').submit(function(){ var m = $('input[name=mobile]').val(); var p = $('input[name=phone]').val(); var reg = /^1\d{10}$/; if((m == "" || !reg.test(m)) && p == ""){ $('input[name=mobile]').addClass('error_color'); $('input[name=mobile]').tooltip('show'); return false; }else{ $('input[name=mobile]').removeClass('error_color'); $('input[name=mobile]').tooltip('hide'); return true; } })
下面看下最新手機(jī)號(hào)碼驗(yàn)證正則表達(dá)式
由于手機(jī)號(hào)段的不斷更新,以前的正則表達(dá)式已經(jīng)無法滿足需求。重新編寫這條表達(dá)式,號(hào)段資料來源依據(jù):http://www.jihaoba.com/tools/haoduan/
現(xiàn)有手機(jī)號(hào)段:
移動(dòng):139 138 137 136 135 134 147 150 151 152 157 158 159 178 182 183 184 187 188
聯(lián)通:130 131 132 155 156 185 186 145 176
電信:133 153 177 173 180 181 189
虛擬運(yùn)營商:
170 171
整理后:
130~139 145,147 15[012356789] 178,176,177,173,170,171 180~189
var regex = { mobile: /^0?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/ }
js:
var bool = checkRegexp(jq("#mobile"), /^0?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/, "電話格式不對(duì)");
表達(dá)式分析:
“/”代表一個(gè)正則表達(dá)式。
“^”代表字符串的開始位置,“$”代表字符串的結(jié)束位置。
“?”代表匹配前面的字符一個(gè)或零個(gè),所以這里0?的意思是手機(jī)號(hào)碼可以以0開頭或不以0開頭。
接下的部分驗(yàn)證11位的手機(jī)號(hào)碼,先從13開始,因?yàn)閺?30-139都有所以可選區(qū)間是[0-9],15開頭的號(hào)碼沒有154所以[]里面沒有4這個(gè)數(shù)字,當(dāng)然也可以寫成[0-35-9],下面18和14開的號(hào)碼同上。
小括號(hào)括起來的代表一個(gè)子表達(dá)式,里面是4個(gè)可選分支分別用“|”來區(qū)分開來,在正則中“|”的優(yōu)先級(jí)是最低的,這里每個(gè)分支匹配的都是3個(gè)字符(一個(gè)[]只能匹配一個(gè)字符,里面是可選的意思),也就是手機(jī)號(hào)碼的前3位數(shù)字,那么后面還有8位數(shù)字需要匹配,可以是0-9的任意字符,所以是“[0-9]{8}”,{}中的數(shù)字代表匹配前面字符的個(gè)數(shù)。
分析完畢。
如果有大頭鬼在前面寫上86,17951之類的呢?
/^(0|86|17951)?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/
C#版:
using System.Text.RegularExpressions; public static bool IsTelephone(string str_telephone) { return Regex.IsMatch(str_telephone, @"^(0|86|17951)?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$"); }
以上所述是小編給大家介紹的手機(jī)號(hào)碼驗(yàn)證方法(正則驗(yàn)證),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- js驗(yàn)證輸入是否為手機(jī)號(hào)碼或電話號(hào)碼示例
- 驗(yàn)證手機(jī)號(hào)碼的JS方法分享
- jquery驗(yàn)證手機(jī)號(hào)碼、郵箱格式是否正確示例代碼
- php驗(yàn)證手機(jī)號(hào)碼(支持歸屬地查詢及編碼為UTF8)
- js 手機(jī)號(hào)碼合法性驗(yàn)證代碼集合
- php 手機(jī)號(hào)碼驗(yàn)證正則表達(dá)式
- javascript IP、域名、手機(jī)號(hào)碼正則表達(dá)式驗(yàn)證代碼
- javascript 手機(jī)號(hào)碼正則表達(dá)式驗(yàn)證函數(shù)
- javascript 手機(jī)號(hào)碼驗(yàn)證是否正確
相關(guān)文章
Js 小數(shù)驗(yàn)證函數(shù)代碼(基于正則)
經(jīng)常需要使用JS來驗(yàn)證一些數(shù)字(OnKeyPress 事件和onblur事件來驗(yàn)證),寫了兩個(gè)事件來驗(yàn)證,驗(yàn)證了一般情況。2010-05-05正則表達(dá)式預(yù)查的詳細(xì)解釋與應(yīng)用實(shí)例
這幾天在用正則表達(dá)式做一個(gè)小程序,需要替換內(nèi)容中的某些特殊字符串。這些字符串的出現(xiàn)是有規(guī)律的,那就是在它左面總會(huì)特定的內(nèi)容出現(xiàn),右面卻沒有,下面這篇文章主要給大家介紹了關(guān)于正則表達(dá)式預(yù)查的詳細(xì)解釋與應(yīng)用實(shí)例,需要的朋友可以參考下2022-09-09JavaScript正則表達(dá)式驗(yàn)證代碼(推薦)
這篇文章主要介紹了JavaScript正則表達(dá)式驗(yàn)證的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-05-05收集一些常用的正則表達(dá)式(匹配中文字符、匹配雙字節(jié)字符、匹配HTML標(biāo)記、匹配空行 and so on~~~)
正則表達(dá)式用于字符串處理,表單驗(yàn)證等場(chǎng)合,實(shí)用高效,應(yīng)用廣泛,但用到時(shí)總是不太把握,以致往往要上網(wǎng)查一番資料,下面把我搜素資料加工整理分享給大家,需要參考的朋友可以借鑒下2015-09-09