码迷,mamicode.com
首页 > 编程语言 > 详细

Java如何匹配列表中的电话号码?

时间:2018-09-10 11:05:23      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:code   matching   号码   class   att   toolbar   pre   指定   eval   

在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})?$

Java如何匹配列表中的电话号码?

标签:code   matching   号码   class   att   toolbar   pre   指定   eval   

原文地址:https://www.cnblogs.com/borter/p/9617151.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!