通过正则表达式校验手机号码,拿走即用!
生活随笔
收集整理的這篇文章主要介紹了
通过正则表达式校验手机号码,拿走即用!
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
校驗手機號碼
2021/01/06更新,電信新增了191號段
1. 單純校驗長度
2、正則表達式校驗數字
3、正則表達式校驗是否是大陸號碼
4、正則表達式校驗是否是香港號碼
//校驗長度private boolean checkLength(String remarkPhoneNumber){return remarkPhoneNumber.length()==11 ? true: false;}/*** 判斷是否是正整數的方法*/public boolean isNumeric(String string){Pattern pattern = Pattern.compile("[0-9]+");return pattern.matcher(string).matches();}/*** 大陸號碼或香港號碼均可*/public boolean isPhoneLegal(String str) throws PatternSyntaxException {return isChinaPhoneLegal(str) || isHKPhoneLegal(str);}/*** 大陸手機號碼11位數,匹配格式:前三位固定格式+后8位任意數* 此方法中前三位格式有:* 13+任意數* 145,147,149* 15+除4的任意數(不要寫^4,這樣的話字母也會被認為是正確的)* 166* 17+3,5,6,7,8* 18+任意數* 198,199,191*/public boolean isChinaPhoneLegal(String str) throws PatternSyntaxException {// ^ 匹配輸入字符串開始的位置// \d 匹配一個或多個數字,其中 \ 要轉義,所以是 \\d// $ 匹配輸入字符串結尾的位置String regExp = "^((13[0-9])|(14[5,7,9])|(15[0-3,5-9])|(166)|(17[3,5,6,7,8])" +"|(18[0-9])|(19[1,8,9]))\\d{8}$";Pattern p = Pattern.compile(regExp);Matcher m = p.matcher(str);return m.matches();}/*** 香港手機號碼8位數,5|6|8|9開頭+7位任意數*/public boolean isHKPhoneLegal(String str) throws PatternSyntaxException {// ^ 匹配輸入字符串開始的位置// \d 匹配一個或多個數字,其中 \ 要轉義,所以是 \\d// $ 匹配輸入字符串結尾的位置String regExp = "^(5|6|8|9)\\d{7}$";Pattern p = Pattern.compile(regExp);Matcher m = p.matcher(str);return m.matches();}
總結
以上是生活随笔為你收集整理的通过正则表达式校验手机号码,拿走即用!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Excel如何设置单元格行高,办公入门
- 下一篇: rancher部署项目Validatio