下面先介紹正則表達式的格式和意思:
1.javascript驗證手機號
function checkPhone(){
var sPhone = document.getElementById(“id”).value ;
if(!(/^1[3|4|5|8] \d{9}$/.test(sPhone))){
alert("輸入的手機號格式不正確");
return false;
}
}
下面是對上面正則表達式的簡單分析,隨着以後手機號碼段的增加,可以自己擴展功能,
^1[3|4|5|8]\d{9}$ , 主要是這段代碼.
^1代表以1開頭,現在中國的手機號沒有是其它開頭的,以後不一定啊
[3|4|5|8] 緊跟上面的1後面,可以是3或4或5或8的一個數字,如果以後出現190開始的手機號碼了,就需要如下[3|4|5|8|9]
\d{9} 這個\d是0-9中間的數字。{9}表示出了前面兩位數字以外還有九位數字。
如果只是想要查詢歸屬地,只需要前面七位。可以將\d{9} 改成[0-9]\d{4,8}表示匹配前面的最低4位數字最高8位數字。
2.正則表達式驗證車牌號
//創建正則表達式
var re=/^[\u4e00-\u9fa5]{1}[A-Z]{1}[A-Z_0-9]{5}$/;
if(window.document.getElementById("id").value.search(re)==-1)
{
alert("輸入的車牌號格式不正確");
return false;
}
下面是對上面正則表達式的簡單分析
^[\u4e00-\u9fa5]{1}[A-Z]{1}[A-Z_0-9]{5}$
^[\u4e00-\u9fa5]{1}代表以漢字開頭並且只有一個,這個漢字是車輛所在省的簡稱
[A-Z]{1}代表A-Z的大寫英文字母且只有一個,代表該車所在地的地市一級代碼
[A-Z_0-9]{5}代表後面五個數字是字母和數字的組合。
^[\u4e00-\u9fa5]{1}[a-zA-Z]{1}[a-zA-Z_0-9]{3}$如果是這種格式的話,英文字母大小寫都可以。但是最好在後臺進行轉換
Android中的使用
Pattern p = Pattern.compile("^1[3|4|5|8]\\d{9}$");
Matcher m = p.matcher(mphoneid.getText().toString());
if(!m.matches())
{
textid.setText("手機號填寫有誤\n");
return;
}
Pattern p1 = Pattern.compile("^[\u4e00-\u9fa5]{1}[a-zA-Z]{1}[a-zA-Z_0-9]{5}$");
Matcher m1 = p1.matcher(mcarid.getText().toString());
if(!m1.matches())
{
textid.setText("車牌號填寫有誤!\n");
return;
}