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)文章
使用adb?or?fastboot命令進(jìn)入高通的9008(edl)模式的兩種方法
這篇文章主要介紹了使用adb?or?fastboot命令進(jìn)入高通的9008(edl)模式,兩種方式通過(guò)命令給大家寫(xiě)的非常詳細(xì),文中又給大家補(bǔ)充介紹了高通手機(jī)?進(jìn)入?高通9008模式的兩種方法,需要的朋友可以參考下2023-01-01給Android初學(xué)者的Gradle知識(shí)普及
剛學(xué) Android 不久,對(duì) Gradle 不懂,看了很多資料依然一知半解,很多人都這樣覺(jué)得,表示同感,下面小編來(lái)給大家講講 Gradle相關(guān)知識(shí),需要的朋友跟隨小編一起來(lái)學(xué)習(xí)一下2018-09-09Android數(shù)據(jù)庫(kù)SD卡創(chuàng)建和圖片存取操作
這篇文章主要介紹了Android數(shù)據(jù)庫(kù)SD卡創(chuàng)建和圖片存取操作的相關(guān)資料,需要的朋友可以參考下2017-04-04最近較流行的效果 Android自定義View實(shí)現(xiàn)傾斜列表/圖片
最近較流行的效果,這篇文章主要介紹了Android自定義View實(shí)現(xiàn)傾斜列表/圖片的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06Android中的SpannableString與SpannableStringBuilder詳解
這篇文章主要給大家介紹了關(guān)于Android中SpannableString與SpannableStringBuilder的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10Android實(shí)現(xiàn)簡(jiǎn)單的音樂(lè)播放器
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)簡(jiǎn)單的音樂(lè)播放器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05Android之聯(lián)系人PinnedHeaderListView使用介紹
Android聯(lián)系人中的ListView是做得比較獨(dú)特的,這幾天,我把他提取出來(lái)了,寫(xiě)成一個(gè)簡(jiǎn)單的例子,留著備用,感興趣的朋友可以參考下哈2013-06-06Android編程實(shí)現(xiàn)調(diào)用系統(tǒng)圖庫(kù)與裁剪圖片功能
這篇文章主要介紹了Android編程實(shí)現(xiàn)調(diào)用系統(tǒng)圖庫(kù)與裁剪圖片功能,結(jié)合實(shí)例形式分析了Android針對(duì)圖形的旋轉(zhuǎn)與剪切等具體操作技巧,需要的朋友可以參考下2017-01-01Android 大文件上傳時(shí)處理上傳進(jìn)度問(wèn)題小結(jié)
進(jìn)行大文件上傳時(shí),顯示上傳進(jìn)度給用戶帶來(lái)極好的用戶體驗(yàn)度,今天小編給大家分享Android 大文件上傳時(shí)處理上傳進(jìn)度問(wèn)題小結(jié),需要的的朋友參考下吧2017-04-04Android實(shí)現(xiàn)新手引導(dǎo)半透明蒙層效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)新手引導(dǎo)半透明蒙層效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03