/*检查字符串是否为电话号码的方法,并返回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]$";
Pattern p = Pattern.compile(strPattern);
Matcher m = p.matcher(strEmail);
return m.matches();
}