Android常用正則工具類

2021-07-09 05:59:16 字數 3372 閱讀 1428

android常用正則工具類

此類提供日常開發中常用的正則驗證函式,比如:郵箱、手機號、**號碼、身份證號碼、日期、數字、小數、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);

}

Android常用正則工具類

此類提供日常開發中常用的正則驗證函式,比如 郵箱 手機號 號碼 身份證號碼 日期 數字 小數 url ip位址等。使用pattern物件的matches方法進行整個字元匹配,呼叫該方法相當於 pattern p pattern.compile regex matcher m p.matcher in...

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...