在Java编程中如何匹配列表中的电话号码?
以下示例显示如何使用phone.matches(phoneNumberPattern)
方法将列表中的电话号码与指定模式相匹配。
package com.yiibai;
public class MatchingPhoneNumbers {
public static void main(String args[]) {
isPhoneValid("13877889900");
isPhoneValid("184-585-4009");
isPhoneValid("13977889900");
isPhoneValid("12345678900");
isPhoneValid("1.999-585-4009");
isPhoneValid("089812399312");
isPhoneValid("1 585 4009");
isPhoneValid("136-myphone123");
isPhoneValid("17789722552");
}
public static boolean isPhoneValid(String phone) {
boolean retval = false;
String phoneNumberPattern = "^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\\d{8})?$";
retval = phone.matches(phoneNumberPattern);
String msg = "No, pattern:" + phone + " regex: " + phoneNumberPattern;
if (retval) {
msg = "Yes, pattern:" + phone + " regex: " + phoneNumberPattern;
}
System.out.println(msg);
return retval;
}
}
Java
上述代码示例将产生以下结果 -
Yes, pattern:13877889900 regex: ^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})?$
No, pattern:184-585-4009 regex: ^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})?$
Yes, pattern:13977889900 regex: ^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})?$
No, pattern:12345678900 regex: ^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})?$
No, pattern:1.999-585-4009 regex: ^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})?$
No, pattern:089812399312 regex: ^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})?$
No, pattern:1 585 4009 regex: ^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})?$
No, pattern:136-myphone123 regex: ^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})?$
Yes, pattern:17789722552 regex: ^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})?$
原文地址:https://www.cnblogs.com/borter/p/9617151.html
时间: 2024-11-05 17:24:39