android 正則表達式

下面先介紹正則表達式的格式和意思:

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;
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章