检查字符串是否为电话号码或邮箱地址方法,并返回true or false的判断值

来源:互联网 发布:电动缝纫机电机数据 编辑:程序博客网 时间:2024/05/21 10:43

/*检查字符串是否为电话号码的方法,并返回true or false的判断值*/

  public static boolean isPhoneNumberValid(String phoneNumber)

  {

    boolean isValid = false;

    /* 可接受的电话格式有:

     * ^//(? : 可以使用 "(" 作为开头

     * (//d{3}): 紧接着三个数字

     * //)? : 可以使用")"接续

     * [- ]? : 在上述格式后可以使用具选择性的 "-".

     * (//d{4}) : 再紧接着三个数字

     * [- ]? : 可以使用具选择性的 "-" 接续.

     * (//d{4})$: 以四个数字结束.

     * 可以比较下列数字格式:

     * (123)456-78900, 123-4560-7890, 12345678900, (123)-4560-7890 

    */

    String expression = "^//(?(//d{3})//)?[- ]?(//d{3})[- ]?(//d{5})$";

    String expression2 ="^//(?(//d{3})//)?[- ]?(//d{4})[- ]?(//d{4})$";

    CharSequence inputStr = phoneNumber;

    /*创建Pattern*/

    Pattern pattern = Pattern.compile(expression);

    /*将Pattern 以参数传入Matcher作Regular expression*/

    Matcher matcher = pattern.matcher(inputStr);

    /*创建Pattern2*/

    Pattern pattern2 =Pattern.compile(expression2);

    /*将Pattern2 以参数传入Matcher2作Regular expression*/

    Matcher matcher2= pattern2.matcher(inputStr);

    if(matcher.matches()||matcher2.matches())

    {

      isValid = true;

    }

    return isValid;

  }

========================

在xml中,添加属性 android:phoneNumber="true" 即可

另外打电话的权限如下:

<uses-permission android:name="android.permission.CALL_PHONE"/>

========================

/*检查字符串是否为邮箱地址的方法,并返回true or false的判断值*/

public static boolean isEmail(String strEmail)

  {

    String strPattern = "^[a-zA-Z][//w//.-]*[a-zA-Z0-9]@[a-zA-Z0-9][//w//.-]*[a-zA-Z0-9]//.[a-zA-Z][a-zA-Z//.]*[a-zA-Z]$";

//  String strPattern ="[a-zA-Z0-9][a-zA-Z0-9._-]{2,16}[a-zA-Z0-9]@[a-zA-Z0-9]+.[a-zA-Z0-9]+";

    Pattern p = Pattern.compile(strPattern);

    Matcher m = p.matcher(strEmail);

    return m.matches();

  }

 

http://blog.csdn.net/vincent_czz/article/details/5780748

原创粉丝点击