您好,登錄后才能下訂單哦!
最近項(xiàng)目中新增的功能,需要對(duì)手機(jī)號(hào)、姓名、身份證號(hào)等一些信息進(jìn)行驗(yàn)證,最好的方法是通過(guò)正則表達(dá)式來(lái)驗(yàn)證,網(wǎng)上查了一些資料,寫了這幾個(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í)也希望多多支持億速云!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。