本帖最后由 tonygone 于 2013-7-18 08:13 编辑
昨天做基础测试时遇到的问题:
写一个正则表达式,可以匹配尾号5连的手机号。规则: 第1位是1,第二位可以是数字3458其中之一,后面4位任意数字,最后5位为任意相同的数字。
我的答案是 ^1[3458]\d{4}(0{5}|1{5}|2{5}|3{5}|4{5}|5{5}|6{5}|7{5}|8{5}|9{5})$- /**
- * 验证手机号码
- * @param mobiles
- * @return
- */
- public static boolean isMobileNO(String mobiles){
- boolean flag = false;
- try{
- Pattern p = Pattern.compile("^1[3458]\\d{4}(0{5}|1{5}|2{5}|3{5}|4{5}|5{5}|6{5}|7{5}|8{5}|9{5})[ DISCUZ_CODE_0 ]quot;);
- Matcher m = p.matcher(mobiles);
- flag = m.matches();
- }catch(Exception e){
- flag = false;
- }
- return flag;
- }
复制代码 感觉自己写的正则表达式关于重复数字的部分有点麻烦,求大神指导简单的办法。 |