Android 正則表達(dá)式驗(yàn)證手機(jī)號(hào)、姓名(包含少數(shù)民族)、身份證號(hào)
最近項(xiàng)目中新增的功能,需要對(duì)手機(jī)號(hào)、姓名、身份證號(hào)等一些信息進(jìn)行驗(yàn)證,最好的方法是通過(guò)正則表達(dá)式來(lái)驗(yàn)證,網(wǎng)上查了一些資料,寫(xiě)了這幾個(gè)工具方法。
1、驗(yàn)證手機(jī)號(hào)
規(guī)則:第一位只能是1,第二位為3-8中的數(shù)字,3-11位為任意的數(shù)字
/**
* 手機(jī)號(hào)號(hào)段校驗(yàn),
第1位:1;
第2位:{3、4、5、6、7、8}任意數(shù)字;
第3—11位:0—9任意數(shù)字
* @param value
* @return
*/
public static boolean isTelPhoneNumber(String value) {
if (value != null && value.length() == 11) {
Pattern pattern = Pattern.compile("^1[3|4|5|6|7|8][0-9]\\d{8}$");
Matcher matcher = pattern.matcher(value);
return matcher.matches();
}
return false;
}
2、驗(yàn)證姓名這里驗(yàn)證姓名,用戶可以在輸入框內(nèi)輸入任何東西,但是在點(diǎn)擊驗(yàn)證的按鈕時(shí),會(huì)調(diào)這個(gè)方法。
驗(yàn)證規(guī)則是:姓名由漢字或漢字加“•”、"·"組成,而且,“點(diǎn)”只能有一個(gè),“點(diǎn)”的位置不能在首位也不能在末尾,只有在漢字之間才會(huì)驗(yàn)證通過(guò)。
/**
* 驗(yàn)證輸入的名字是否為“中文”或者是否包含“·”
*/
public static boolean isLegalName(String name){
if (name.contains("·") || name.contains("•")){
if (name.matches("^[\\u4e00-\\u9fa5]+[·•][\\u4e00-\\u9fa5]+$")){
return true;
}else {
return false;
}
}else {
if (name.matches("^[\\u4e00-\\u9fa5]+$")){
return true;
}else {
return false;
}
}
}
3、驗(yàn)證身份證號(hào)
驗(yàn)證身份證號(hào)
規(guī)則是:由15位數(shù)字或18位數(shù)字(17位數(shù)字加“x”)組成,15位純數(shù)字沒(méi)什么好說(shuō)的,18位的話,可以是18位純數(shù)字,或者17位數(shù)字加“x”
/**
* 驗(yàn)證輸入的身份證號(hào)是否合法
*/
public static boolean isLegalId(String id){
if (id.toUpperCase().matches("(^\\d{15}$)|(^\\d{17}([0-9]|X)$)")){
return true;
}else {
return false;
}
}
以上正則表達(dá)式驗(yàn)證結(jié)果,通過(guò)true和false返回
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
- PHP提取字符串中的手機(jī)號(hào)正則表達(dá)式怎么寫(xiě)
- java使用正則表達(dá)式判斷手機(jī)號(hào)的方法示例
- 正則表達(dá)式驗(yàn)證用戶名、密碼、手機(jī)號(hào)碼、身份證(推薦)
- iOS 正則表達(dá)式判斷手機(jī)號(hào)碼、固話
- JS正則表達(dá)式驗(yàn)證賬號(hào)、手機(jī)號(hào)、電話和郵箱是否合法
- 一個(gè)容易犯錯(cuò)的js手機(jī)號(hào)碼驗(yàn)證正則表達(dá)式(推薦)
- Android判斷11位手機(jī)號(hào)碼的方法(正則表達(dá)式)
- Android 2018最新手機(jī)號(hào)驗(yàn)證正則表達(dá)式方法
相關(guān)文章
Android 6.0上sdcard和U盤(pán)路徑獲取和區(qū)分方法
今天小編就為大家分享一篇Android 6.0上sdcard和U盤(pán)路徑獲取和區(qū)分方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
Android組件之DrawerLayout實(shí)現(xiàn)抽屜菜單
DrawerLayout組件同樣是V4包中的組件,也是直接繼承于ViewGroup類(lèi),所以這個(gè)類(lèi)也是一個(gè)容器類(lèi)。接下來(lái)通過(guò)本文給大家介紹Android組件之DrawerLayout實(shí)現(xiàn)抽屜菜單,感興趣的朋友一起學(xué)習(xí)吧2016-02-02
以一個(gè)著色游戲展開(kāi)講解Android中區(qū)域圖像填色的方法
這篇文章主要介紹了Android中實(shí)現(xiàn)區(qū)域圖像顏色填充的方法,文中以一個(gè)著色游戲?yàn)槔v解了邊界的填充等各種填色操作,需要的朋友可以參考下2016-02-02
Android使用MulticastSocket實(shí)現(xiàn)多點(diǎn)廣播圖片
這篇文章主要為大家詳細(xì)介紹了Android使用MulticastSocket實(shí)現(xiàn)多點(diǎn)廣播圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01
OpenGL Shader實(shí)例分析(7)雪花飄落效果
這篇文章主要為大家詳細(xì)介紹了OpenGL Shader實(shí)例分析第7篇,實(shí)現(xiàn)雪花飄落效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
使用DrawerLayout組件實(shí)現(xiàn)側(cè)滑抽屜的功能
DrawerLayout組件同樣是V4包中的組件,也是直接繼承于ViewGroup類(lèi),所以說(shuō)是一個(gè)容器類(lèi),下面通過(guò)本文給大家介紹使用DrawerLayout組件實(shí)現(xiàn)側(cè)滑抽屜的功能,感興趣的朋友一起看下吧2016-08-08
Android監(jiān)聽(tīng)Home鍵和Back鍵的區(qū)別介紹
這篇文章主要介紹了Android監(jiān)聽(tīng)Home鍵和Back鍵的區(qū)別介紹,本文還同時(shí)給出了Home鍵監(jiān)聽(tīng)的實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-06-06
RadioGroup實(shí)現(xiàn)單選框的多行排列
這篇文章主要為大家詳細(xì)介紹了RadioGroup實(shí)現(xiàn)單選框的多行排列,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
Flutter手勢(shì)密碼的實(shí)現(xiàn)示例(附demo)
本文主要介紹了Flutter手勢(shì)密碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08

