您好,登錄后才能下訂單哦!
本文實例講述了java使用正則表達式判斷手機號的方法。分享給大家供大家參考,具體如下:
要更加準確的匹配手機號碼只匹配11位數(shù)字是不夠的,比如說就沒有以144開始的號碼段,
故先要整清楚現(xiàn)在已經(jīng)開放了多少個號碼段,國家號碼段分配如下:
移動:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
聯(lián)通:130、131、132、152、155、156、185、186
電信:133、153、180、189、(1349衛(wèi)通)
那么現(xiàn)在就可以正則匹配測試了,
import java.io.IOException; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ClassPathResource { public static boolean isMobileNO(String mobiles){ Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$"); Matcher m = p.matcher(mobiles); System.out.println(m.matches()+"---"); return m.matches(); } public static void main(String[] args) throws IOException { System.out.println(ClassPathResource.isMobileNO("12016155153")); } }
第二種方法:
import java.util.regex.Matcher; import java.util.regex.Pattern; String value="手機號"; String regExp = "^[1]([3][0-9]{1}|59|58|88|89)[0-9]{8}$"; Pattern p = Pattern.compile(regExp); Matcher m = p.matcher(value); return m.find();//boolean
PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:
JavaScript正則表達式在線測試工具:
http://tools.jb51.net/regex/javascript
正則表達式在線生成工具:
http://tools.jb51.net/regex/create_reg
更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java正則表達式技巧大全》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。