在Java中,使用正則表達(dá)式可以輕松驗(yàn)證手機(jī)號(hào)和郵箱是否符合規(guī)范。下面分別介紹如何實(shí)現(xiàn)這兩個(gè)功能。
驗(yàn)證手機(jī)號(hào)
手機(jī)號(hào)一般為11位數(shù)字,以1開(kāi)頭,我們可以使用如下的正則表達(dá)式:
String regex = "^1[3-9]\\d{9}$";
其中,^1
表示手機(jī)號(hào)以1開(kāi)頭,[3-9]
表示第二位數(shù)字為3-9之間的任意一個(gè)數(shù),\\d{9}
表示后面的9位數(shù)字可以為任意數(shù)字。
通過(guò)使用Java自帶的Pattern
和Matcher
類,可以將正則表達(dá)式與手機(jī)號(hào)進(jìn)行匹配:
String phoneNum = "13812345678"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(phoneNum); boolean isMatch = matcher.matches();
若isMatch
為true
,說(shuō)明手機(jī)號(hào)符合規(guī)范。
驗(yàn)證郵箱
郵箱格式一般為username@domain.com
,其中username
為用戶名,可以包含字母、數(shù)字、下劃線和點(diǎn)號(hào);domain
為域名,可以包含字母、數(shù)字、下劃線和點(diǎn)號(hào)。
我們可以使用如下的正則表達(dá)式:
String regex = "\\w+(\\.\\w+)*@\\w+(\\.\\w+)+";
其中,\\w+
表示匹配至少一個(gè)字母、數(shù)字或下劃線,(\\.\\w+)*
表示匹配零個(gè)或多個(gè)點(diǎn)號(hào)后面跟著至少一個(gè)字母、數(shù)字或下劃線,@
表示@符號(hào),\\w+(\\.\\w+)+
表示匹配一個(gè)或多個(gè)字母、數(shù)字或下劃線后面跟著至少一個(gè)點(diǎn)號(hào)和至少一個(gè)字母、數(shù)字或下劃線。
通過(guò)使用Java自帶的Pattern
和Matcher
類,可以將正則表達(dá)式與郵箱進(jìn)行匹配:
String email = "test@qq.com"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(email); boolean isMatch = matcher.matches();
若isMatch
為true
,說(shuō)明郵箱符合規(guī)范。