此類提供日常開發中常用的正則驗證函式,比如:郵箱、手機號、**號碼、身份證號碼、日期、數字、小數、url、ip位址等。使用pattern物件的matches方法進行整個字元匹配,呼叫該方法相當於:
pattern p = pattern.compile(regex);
matcher m = p.matcher(input);
return m.matches();
每個正則可能還有待優化的地方,您如有更好的方式實現某乙個功能的驗證,歡迎提出來大家一起討論。下面是工具類的完整**:
/**
* 正則工具類
* 提供驗證郵箱、手機號、**號碼、身份證號碼、數字等方法
*/
public final class regexutils
/**
* 驗證身份證號碼
* @param idcard 居民身份證號碼15位或18位,最後一位可能是數字或字母
* @return 驗證成功返回true,驗證失敗返回false
*/
public static boolean checkidcard(string idcard) [a-za-z0-9]";
return pattern.matches(regex,idcard);
} /**
* 驗證手機號碼(支援國際格式,+86135***x...(中國內地),+00852137***x...(中國香港))
* @param mobile 移動、聯通、電信運營商的號碼段
*移動的號段:134(0-8)、135、136、137、138、139、147(預計用於td上網絡卡)
*、150、151、152、157(td專用)、158、159、187(未啟用)、188(td專用)
*聯通的號段:130、131、132、155、156(世界風專用)、185(未啟用)、186(3g)
*電信的號段:133、153、180(未啟用)、189
* @return 驗證成功返回true,驗證失敗返回false
*/
public static boolean checkmobile(string mobile) $";
return pattern.matches(regex,mobile);
} /**
* 驗證固定**號碼
* @param phone **號碼,格式:國家(地區)**** + 區號(城市**) + **號碼,如:+8602085588447
*國家(地區) ** :標識**號碼的國家(地區)的標準國家(地區)**。它包含從 0 到 9 的一位或多位數字,
* 數字之後是空格分隔的國家(地區)**。
*區號(城市**):這可能包含乙個或多個從 0 到 9 的數字,地區或城市**放在圓括號——
* 對不使用地區或城市**的國家(地區),則省略該元件。
***號碼:這包含從 0 到 9 的乙個或多個數字
* @return 驗證成功返回true,驗證失敗返回false
*/
public static boolean checkphone(string phone) \\-?)?\\d$";
return pattern.matches(regex, phone);
} /**
* 驗證整數(正整數和負整數)
* @param digit 一位或多位0-9之間的整數
* @return 驗證成功返回true,驗證失敗返回false
*/
public static boolean checkdigit(string digit)
/**
* 驗證整數和浮點數(正負整數和正負浮點數)
* @param decimals 一位或多位0-9之間的浮點數,如:1.23,233.30
* @return 驗證成功返回true,驗證失敗返回false
*/
public static boolean checkdecimals(string decimals)
/**
* 驗證空白字元
* @param blankspace 空白字元,包括:空格、\t、\n、\r、\f、\x0b
* @return 驗證成功返回true,驗證失敗返回false
*/
public static boolean checkblankspace(string blankspace)
/**
* 驗證中文
* @param chinese 中文字元
* @return 驗證成功返回true,驗證失敗返回false
*/
public static boolean checkchinese(string chinese)
/**
* 驗證日期(年月日)
* @param birthday 日期,格式:1992-09-03,或1992.09.03
* @return 驗證成功返回true,驗證失敗返回false
*/
public static boolean checkbirthday(string birthday) ([-./])\\d\\1\\d";
return pattern.matches(regex,birthday);
} /**
* 驗證url位址
* @param url 格式: 或
* @return 驗證成功返回true,驗證失敗返回false
*/
public static boolean checkurl(string url) \\.)?)?\\w+\\.\\w+(\\.[a-za-z]+)*(:\\d)?(/\\w*)*(\\??(.+=.*)?(&.+=.*)?)?";
return pattern.matches(regex, url);
} /**
* @return 驗證成功返回true,驗證失敗返回false
*/
public static boolean checkpostcode(string postcode) ";
return pattern.matches(regex, postcode);
} /**
* @param ipaddress ipv4標準位址
* @return 驗證成功返回true,驗證失敗返回false
*/
public static boolean checkipaddress(string ipaddress) )?\\.(0|([1-9](\\d)?))\\.(0|([1-9](\\d)?))\\.(0|([1-9](\\d)?))";
return pattern.matches(regex, ipaddress);
} }
* 正規表示式工具類測試
*/
public class regexutilstest
/**
* 驗證身份證號碼
*/
@test
public void testcheckidcard()
/**
* 驗證手機號碼
*/
@test
public void testcheckmobile()
/**
* 驗證**號碼
*/
@test
public void testcheckphone()
/**
* 驗證整數(正整數和負整數)
*/
@test
public void testcheckdigit()
/**
* 驗證小數和整數(正負整數和正負小數)
*/
@test
public void testcheckdecimals()
/**
* 驗證空白字元
*/
@test
public void testcheckblankspace()
/**
* 匹配中文
*/
@test
public void testcheckchinese()
/**
* 驗證日期
*/
@test
public void testcheckbirthday()
/**
*/
@test
public void testcheckpostcode()
/**
* 驗證url位址
*/
@test
public void testcheckurl()
/**
* 驗證ip位址
*/
@test
public void testcheckipaddress()
}
Android常用正則工具類
android常用正則工具類 此類提供日常開發中常用的正則驗證函式,比如 郵箱 手機號 號碼 身份證號碼 日期 數字 小數 url ip位址等。使用pattern物件的matches方法進行整個字元匹配,呼叫該方法相當於 pattern p pattern.compile regex matcher...
Android正則驗證工具類
東西不多,但一般專案夠用了。public class regularutil 1 9 d 0 d 1 0 2 0 1 2 d 3 0 1 d 0 9 x 驗證郵箱 public static final string regex email a z0 9a z a z0 9a z a z0 9a z...
android常用工具類
import android.content.context import android.net.connectivitymanager import android.net.networkinfo import android.widget.toast 常用的工具類集合!public class...