原文鏈接:http://caibaojian.com/regexp-example.html
正則表達(dá)式(regular expression)是一個(gè)描述字符模式的對(duì)象磨总。使用JavaScript正則表達(dá)式可以進(jìn)行強(qiáng)大的模式匹配和文本檢索與替換功能喘批。
手機(jī)號(hào)碼正則表達(dá)式驗(yàn)證皮壁。
function checkPhone(){
var phone = document.getElementById('phone').value;
if(!(/^1[3456789]\d{9}$/.test(phone))){
alert("手機(jī)號(hào)碼有誤椭更,請(qǐng)重填");
return false;
}
}
或者
function checkPhone(){
var phone = document.getElementById('phone').value;
if(!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(phone))){
alert("手機(jī)號(hào)碼有誤,請(qǐng)重填");
return false;
}
}
感謝 丐幫流寇 的提醒蛾魄,我查了一下了解了“ 小括號(hào)就是括號(hào)內(nèi)看成一個(gè)整體 ,中括號(hào)就是匹配括號(hào)內(nèi)的其中一個(gè)”·
原來(lái)正則里面的中括號(hào)[]只能匹配其中一個(gè)虑瀑,如果要匹配特定幾組字符串的話湿滓,那就必須使用小括號(hào)()加或|,我還以為在中括號(hào)中也能使用或|符號(hào)舌狗,原來(lái)|在中括號(hào)里面也是一個(gè)字符叽奥,并不代表或。[3457]匹配3或者4或者5或者7痛侍,而(3457)只匹配3457朝氓,若要跟前面一樣可以加或(3|4|5|7)。[34|57]匹配3或者4或者|或者5或者7.而(34|57)能匹配34或者57主届。
下面簡(jiǎn)單的解釋一下:
^1(3|4|5|7|8)\d{9}$
表示以1開(kāi)頭膀篮,第二位可能是3/4/5/7/8等的任意一個(gè),在加上后面的\d表示數(shù)字[0-9]的9位岂膳,總共加起來(lái)11位結(jié)束。
具體請(qǐng)參考這篇文章解說(shuō):JS最新手機(jī)號(hào)碼檢驗(yàn)正則表達(dá)式 (絕對(duì)能讓你明白)
固定電話號(hào)碼正則表達(dá)式:
function checkTel(){
var tel = document.getElementById('tel').value;
if(!/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(tel)){
alert('固定電話有誤磅网,請(qǐng)重填');
return false;
}
}
身份證正則:
//身份證正則表達(dá)式(15位)
isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
//身份證正則表達(dá)式(18位)
isIDCard2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;
身份證正則合并:(^\d{15}$)|(^\d{17}([0-9]|X)$)
其他
提取信息中的網(wǎng)絡(luò)鏈接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?
提取信息中的郵件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
提取信息中的圖片鏈接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?
提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)
提取信息中的中國(guó)電話號(hào)碼(包括移動(dòng)和固定電話):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}
提取信息中的中國(guó)郵政編碼:[1-9]{1}(\d+){5}
提取信息中的中國(guó)身份證號(hào)碼:\d{18}|\d{15}
提取信息中的整數(shù):\d+
提取信息中的浮點(diǎn)數(shù)(即小數(shù)):(-?\d*)\.?\d+
提取信息中的任何數(shù)字 :(-?\d*)(\.\d+)?
提取信息中的中文字符串:[\u4e00-\u9fa5]*
提取信息中的雙字節(jié)字符串 (漢字):[^\x00-\xff]*
使用:
test()方法在字符串中查找是否存在指定的正則表達(dá)式谈截,并返回布爾值,如果存在則返回true涧偷,否則返回false簸喂。
var pattern = new RegExp('Box','i');
var str = 'box';
alert(pattern.test(str)); //true
var pattern = /Box/i;
var str = 'box';
alert(pattern.test(str)); //true
var pattern = /Box/i;
var str = 'This is a box';
alert(pattern.test(str)); //true
來(lái)源:前端開(kāi)發(fā)博客