lzllzllhl
只会写bug的咸鱼
采纳率50%
2016-11-30 02:59

验证手机号码输入是否正确

已采纳

android中如何判断用户输入的手机号码是合法的手机号码呢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

7条回答

  • xiehao_95 邪蒿 5年前
     /**
         * 验证手机号码(支持国际格式,+86135xxxx...(中国内地),+00852137xxxx...(中国香港))
         *
         * @param mobile 移动、联通、电信运营商的号码段
         *               <p>移动的号段:134(0-8)、135、136、137、138、139、147(预计用于TD上网卡)
         *               、150、151、152、157(TD专用)、158、159、187(未启用)、188(TD专用)</p>
         *               <p>联通的号段:130、131、132、155、156(世界风专用)、185(未启用)、186(3g)</p>
         *               <p>电信的号段:133、153、180(未启用)、189</p>
         * @return 验证成功返回true,验证失败返回false
         */
        public static boolean checkMobile(String mobile) {
            String regex = "(\\+\\d+)?1[34578]\\d{9}$";
            return Pattern.matches(regex, mobile);
        }
    
    点赞 评论 复制链接分享
  • guwei4037 极简吧 5年前
    点赞 1 评论 复制链接分享
  • zgy621101 紫风幻雪 5年前
  • oSanYeCao1234567 RoidCoder 5年前

    楼上几位回答的都很正确,一般都是使用正则表达式去匹配。而且只能验证号码的合法性,不能验证号码的正确性(是否空号)

    点赞 评论 复制链接分享
  • qq_34815072 DaoTangBill 5年前

    private final static Pattern phone = Pattern
    .compile("^((13[0-9])|(15[^4,\D])|(18[0,5-9]))\d{8}$");
    /**
    * 判断是不是一个合法的手机号码
    */
    public static boolean isPhone(CharSequence phoneNum) {
    return !isEmpty(phoneNum) && phone.matcher(phoneNum).matches();
    }

    点赞 评论 复制链接分享
  • dsxjinzhiqiang dsxjinzhiqiang 5年前

    EditText有一个属性,专门判断输入类型的

    点赞 评论 复制链接分享
  • baidu_34046383 星之火燎原 5年前

    可以使用正则表达式验证

    点赞 评论 复制链接分享

相关推荐