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

在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

Java如何匹配列表中的电话号码?的相关文章

selenium+java:获取列表中的值

selenium+java:获取列表中的值 (2011-08-23 17:14:48) 标签: 杂谈 分类: selenium 初步研究利用java+testNg框架下写selenium测试用例,今天学会了几个API:(1)获取页面上列表中的值,并打印输出:System.out.println(selenium.getTable("xpath=/html/body/div[3]/form/table.1.1")); //输出列表中第1行第1列的值(2)判断页面上是否有某个文本:(只能判

java正则表达式匹配文本中想要的字符串

需求:获取一个本地文件中所有符合 $[MAKE_PACKAGE] 格式的字符串,并输出到另一个文件中. public static void main(String[] args) throws Exception { loadVar("src/cn/don9/templates/Action.txt","src/cn/don9/templateVar/SysActionVar.txt"); } public static void loadVar(String i

Java 去除List列表中的重复项

/** * Remove list duplicate item * * @param srcList * @return */ private static ArrayList<ResolveInfo> removeListDuplicateItemWithOrder( List<ResolveInfo> srcList) { ArrayList<ResolveInfo> mResolveInfoList = new ArrayList<ResolveInfo&

java 正则提取字符串中的电话号码

public static void test2() { String str = "张三:13539558064,李四:15626829748,赵六:13718952204"; Pattern p = Pattern.compile("1[345678]\\d{9}"); Matcher m = p.matcher(str); while(m.find()) { System.out.println(m.group()); } } 原文地址:https://www

JSON-JSON字符串转换成JSON对象、JSON对象数组、java实体类以及保存到List列表中

处理JSON字符串时,一直出错,写个样例后发现原来是没有弄清楚数据的格式问题. 实现的是 JSONString 转换成java对象 或是 list列表 实例类 News package lyx.entity; /** * @author lyx * * 2015-8-10上午10:14:38 * * *新闻类 */ public class News { /** * 日期 */ private String date; /** * 链接 */ private String link; /** *

Python List index()方法-用于从列表中找出某个值第一个匹配项的索引位置

描述 index() 函数用于从列表中找出某个值第一个匹配项的索引位置. 语法 index()方法语法: list.index(obj) 参数 obj -- 查找的对象. 返回值 该方法返回查找对象的索引位置,如果没有找到对象则抛出异常. 实例 以下实例展示了 index()函数的使用方法: #!/usr/bin/python aList = [123, 'xyz', 'zara', 'abc']; print "Index for xyz : ", aList.index( 'xyz

Python List remove()方法-用于移除列表中某个值的第一个匹配项

描述 remove() 函数用于移除列表中某个值的第一个匹配项. 语法 remove()方法语法: list.remove(obj) 参数 obj -- 列表中要移除的对象. 返回值 该方法没有返回值但是会移除两种中的某个值的第一个匹配项. 实例 以下实例展示了 remove()函数的使用方法: #!/usr/bin/python aList = [123, 'xyz', 'zara', 'abc', 'xyz']; aList.remove('xyz'); print "List : &quo

匹配文本中的网址java正则表达式

原文:匹配文本中的网址java正则表达式 源代码下载地址:http://www.zuidaima.com/share/1575653789993984.htm 公司有个业务需要匹配文本中的网址,度娘,谷哥了半天经常看到有对html中获取超链接的正则,只要匹配<a href=['"]?(.*?)['"]?即可,但如果是普通文本类型的则比较费事些,分享下最后的表达式: import java.util.regex.Matcher; import java.util.regex.Pat

如何解决Outlook配置用户邮箱 &amp;ldquo;该名称不能与地址列表中的名称匹配&amp;rdquo;错误

当您尝试为用户设置新的Exchange邮箱时,您可能会收到以下错误消息.这个案例基本情况 ,用户邮箱在Windows Server 2012 R2的Exchange Server 2013上创建的,Outlook 2010 客户端跑在Windows 7 系统中, 并配置了新的Outlook Anywhere配置文件,我在同一台计算机上多次添加了此"测试"用户帐户.从错误提示很显然邮箱帐户出现了问题 "该行动无法完成.该名称不能与地址列表中的名称匹配" 根据Micro