最近項(xiàng)目中新增的功能,需要對手機(jī)號(hào)、姓名、身份證號(hào)等一些信息進(jìn)行驗(yàn)證,最好的方法是通過正則表達(dá)式來驗(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)證通過。
/** * 驗(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ù)字沒什么好說的,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é)果,通過true和false返回
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持VEVB武林網(wǎng)!
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注