java正则表达式验证

Validating a phone number using regular expression is tricky because the phone number can be written in many formats and can have extensions also.

使用正则表达式验证电话号码非常棘手,因为电话号码可以用多种格式编写,也可以有扩展名。

For example, here are some of the common way of writing phone numbers:

例如,以下是一些写电话号码的常用方法:

  • 12345678901234567890
  • 123-456-7890123-456-7890
  • 123-456-7890 x1234123-456-7890 x1234
  • 123-456-7890 ext1234123-456-7890 ext1234
  • (123)-456-7890(123)-456-7890
  • 123.456.7890123.456.7890
  • 123 456 7890123 456 7890

Java中的电话号码验证 (Phone Number Validation in Java)

Here I am using java regular expressions to validate any of the above format phone numbers.

在这里,我使用Java正则表达式来验证上述任何格式的电话号码。

package com.journaldev.util;public class PhoneNumberValidator {public static void main(String[] args) {System.out.println("Phone number 1234567890 validation result: "+validatePhoneNumber("1234567890"));System.out.println("Phone number 123-456-7890 validation result: "+validatePhoneNumber("123-456-7890"));System.out.println("Phone number 123-456-7890 x1234 validation result: "+validatePhoneNumber("123-456-7890 x1234"));System.out.println("Phone number 123-456-7890 ext1234 validation result: "+validatePhoneNumber("123-456-7890 ext1234"));System.out.println("Phone number (123)-456-7890 validation result: "+validatePhoneNumber("(123)-456-7890"));System.out.println("Phone number 123.456.7890 validation result: "+validatePhoneNumber("123.456.7890"));System.out.println("Phone number 123 456 7890 validation result: "+validatePhoneNumber("123 456 7890"));}private static boolean validatePhoneNumber(String phoneNo) {//validate phone numbers of format "1234567890"if (phoneNo.matches("\\d{10}")) return true;//validating phone number with -, . or spaceselse if(phoneNo.matches("\\d{3}[-\\.\\s]\\d{3}[-\\.\\s]\\d{4}")) return true;//validating phone number with extension length from 3 to 5else if(phoneNo.matches("\\d{3}-\\d{3}-\\d{4}\\s(x|(ext))\\d{3,5}")) return true;//validating phone number where area code is in braces ()else if(phoneNo.matches("\\(\\d{3}\\)-\\d{3}-\\d{4}")) return true;//return false if nothing matches the inputelse return false;}}

Here is the output of the above phone number regex validation program.

这是上述电话号码正则表达式验证程序的输出。

Phone number 1234567890 validation result: true
Phone number 123-456-7890 validation result: true
Phone number 123-456-7890 x1234 validation result: true
Phone number 123-456-7890 ext1234 validation result: true
Phone number (123)-456-7890 validation result: true
Phone number 123.456.7890 validation result: true
Phone number 123 456 7890 validation result: true

The best part of this program is that it’s easy to understand and you can extend it easily to support other phone number formats also.

该程序最好的部分是易于理解,您也可以轻松扩展它以支持其他电话号码格式。

GitHub Repository.GitHub Repository中检出更多正则表达式示例。

翻译自: https://www.journaldev.com/641/regular-expression-phone-number-validation-in-java

java正则表达式验证

java正则表达式验证_Java中的正则表达式电话号码验证相关推荐

  1. mysql触发器可以使用正则表达式_SQL 正则表达式及mybatis中使用正则表达式

    这篇文章主要介绍了SQL 正则表达式及mybatis中使用正则表达式的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下 mysql 提供的模式匹配的其他类型是使用扩展正则表达式. 当你对这 ...

  2. java中正则匹配字符串长度_Java中使用正则表达式校验字符串

    Java中使用正则表达式校验字符串 正则表达式是某一位伟大的数学家发明的,现在已经形成了一个ISO标准,这个标准和编程语言没有关系.至于具体谁发明的,怎么发明的,我也忘记了:). 正则表达式简单理解就 ...

  3. java 中的正则表达式_Java中的正则表达式–软介绍

    java 中的正则表达式 正则表达式是一种可以应用于文本(Java中的String)的模式. Java提供了java.util.regex包,用于与正则表达式进行模式匹配. Java正则表达式与Per ...

  4. java正则表达式类_java中正则表达式之Pattern类与Matcher类

    java中正则表达式之Pattern类与Matcher类 ======================================================================= ...

  5. java中正则表达式 ?=_Java中的正则表达式

    正则表达式: 正则表达式(英语:Regular Expression,在代码中常简写为regex). 正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个句法规则的字符串 ...

  6. java 正则替换cdata_XML中配置正则表达式的写法

    在做WEB表单时,为了增加用户体验,表单验证通常是必不可少的.而这样的效果通常也是通过正则表达式实现. 如果在往前考虑一步,假如用户自己也能根据需要修改这些正则表达式,那就更加人性化了. 在做管理系统 ...

  7. qq号的正则表达式html,JavaScript中的正则表达式使用及验证qq号码的正则

    废话不多说了,直接给大家贴正则表达式代码了. function myValid() { var errorMsg = ""; var res = true; //拿到要验证的值. ...

  8. python正则表达式空格_python中的正则表达式的使用

    一.正则表达式简介 正则表达式:又称正规表示式.正规表示法.正规表达式.规则表示式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或者是RE),是计算 ...

  9. java show过时_Java中show() 方法被那个方法代替了? java编程 显示类中信

    你说的show是swing里的吧,在老版本中Component这个超类确实有show这个方法,而且这个方法也相当有用,使一个窗口可见,并放到最前面.在jdk5.0中阻止了这个方法,普遍用setVisi ...

最新文章

  1. 阿里某程序员吐槽:年终奖被金融行业的老婆完爆!自己奖金15万,老婆奖金66万!...
  2. dump java 内存_Java如何dump对象的内存
  3. shell脚本初体验
  4. gin context和官方context_Go Web 小技巧(一)简化Gin接口代码
  5. JAVA入门级教学之(算数运算符)
  6. 拼多多:扶贫项目正连续遭受网络舆情涉黑团伙攻击
  7. 【P000-008】交易费计算系统,1.1版
  8. python GIL 全局锁,多核cpu下的多线程性能究竟如何?
  9. 建模学习笔记(一)层次分析法模型学习及相关论文书写 清风数学建模
  10. python科学计算之numpy+pandas+matplotlib+mysql
  11. 【Neo4j】SOLVED:java.lang.RuntimeException: Error starting Neo4j database server
  12. STM32蜂鸣器实例详解
  13. Ehabs Last Corollary
  14. GestureOverlayView
  15. P4 Tutorial 安装
  16. 酷我车载版显示服务器错误,酷我云盘服务器异常
  17. 我常用的15个数据源网站
  18. pdk7105的I2C配置
  19. HTTP服务器项目面试题
  20. 数码电脑显微镜_植物保护实验教学中心的数码显微互动系统

热门文章

  1. PHP字符编码绕过漏洞总结
  2. [导入]CommunityServer 1.1 源码及汉化文件
  3. [转载] [Python基础语法]关键字、标识符和变量
  4. [转载] numpy用法(logical_and, nonzero,arange, reshape)
  5. Spring系列(三) Bean装配的高级技术
  6. 世事无常,深信服及其他
  7. POJ 3621:Sightseeing Cows(最优比率环)
  8. 2.2 Mnist手写数据集
  9. CSS样式(一)- 基本语法
  10. 数据结构上机实践第八周项目5 - 计数的模式匹配