正则表达式的工具

每次都要自己写正则表达式,太麻烦了,就找到别人分享的regexutils 写的工具类,这次终于把它贴出来了。不说了,直接上代码喽
import java.util.regex.Pattern;

import android.view.View;

import com.zz.guojinproject.R;

/**
 * 正则表达式工具类
 * 
 * @author Administrator
 * 
 */
public class RegexUtils {

    /**
     * 验证Email
     * 
     * @param email
     *            email地址,格式:zhangsan@zuidaima.com,zhangsan@xxx.com.cn,
     *            xxx代表邮件服务商
     * @return 验证成功返回true,验证失败返回false
     */
    public static boolean checkEmail(String email) {
        String regex = "\\w+@\\w+\\.[a-z]+(\\.[a-z]+)?";
        return Pattern.matches(regex, email);
    }

    /**
     * 验证身份证号码
     * 
     * @param idCard
     *            居民身份证号码15位或18位,最后一位可能是数字或字母
     * @return 验证成功返回true,验证失败返回false
     */
    public static boolean checkIdCard(String idCard) {
        String regex = "[1-9]\\d{13,16}[a-zA-Z0-9]{1}";
        return Pattern.matches(regex, idCard);
    }

    /**
     * 验证手机号码(支持国际格式,+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);
    }

    /**
     * 验证固定电话号码
     * 
     * @param phone
     *            电话号码,格式:国家(地区)电话代码 + 区号(城市代码) + 电话号码,如:+8602085588447
     *            <p>
     *            <b>国家(地区) 代码 :</b>标识电话号码的国家(地区)的标准国家(地区)代码。它包含从 0 到 9
     *            的一位或多位数字, 数字之后是空格分隔的国家(地区)代码。
     *            </p>
     *            <p>
     *            <b>区号(城市代码):</b>这可能包含一个或多个从 0 到 9 的数字,地区或城市代码放在圆括号——
     *            对不使用地区或城市代码的国家(地区),则省略该组件。
     *            </p>
     *            <p>
     *            <b>电话号码:</b>这包含从 0 到 9 的一个或多个数字
     *            </p>
     * @return 验证成功返回true,验证失败返回false
     */
    public static boolean checkPhone(String phone) {
        String regex = "(\\+\\d+)?(\\d{3,4}\\-?)?\\d{7,8}$";
        return Pattern.matches(regex, phone);
    }

    /**
     * 验证整数(正整数和负整数)
     * 
     * @param digit
     *            一位或多位0-9之间的整数
     * @return 验证成功返回true,验证失败返回false
     */
    public static boolean checkDigit(String digit) {
        String regex = "\\-?[1-9]\\d+";
        return Pattern.matches(regex, digit);
    }
}
爱偷懒的小朋友看过来哦~~~~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值