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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值