美国上市公司,专注Java培训22年

如何鉴别非法的电话号码


【实例描述】

日常生活中经常需要用户录入用户信息或联系方式,其中有一些数组的格式是固定的,程序处理逻辑也是按照这个格式来实现的,但是由于用户输入的是字符串,其灵活性较大,所以容易输入错误格式的数据。本实例将演示如何使用正则表达式来确定输入的电话号码格式是否匹配,实例的运行效果如图4.15 所示。

如何鉴别非法的电话号码

【实现过程】

(1)在Eclipse 中新建项目PhoneNumber,并在其中创建一个PhoneNumber.java 文件。在该类的主方法中创建标准输入流的扫描器对象,接收用户输入的用户信息。核心代码如下所示:

protected void do_button_actionPerformed(ActionEvent e) {
String text = phoneNumField.getText(); // 获取用户输入
String info = check(text); // 对输入文本进行IP
验证
showMessageDialog(null, info); // 用对话框输出验证结
果
}
(2)然后对电话号码的正确性进行验证,首先判断字符串是否为空,然后再通过正则表达式对字符串进行验证。这里要注意我们设定的区号为3 位,电话号码为8 位。核心代码如下所示:

public String check(String text){
if(text == null || text.isEmpty()){
return "请输入电话号码!";
}

                                     // 定义正则表达式
String regex = "^\\d{3}-?\\d{8}|\\d{4}-?\\d{8}$";
                                    // 判断输入数据是否为电话号码
if(text.matches(regex)){
return text + "\n 是一个合法的电话号码!";
}else{
return text + "\n 不是一个合法的电话号码!";
}
}
【代码解析】

本实例使用正则表达式对电话号码进行了格式匹配验证。正则表达式通常被用于判断语句中,来检查某一字符串是否满足某一格式。它是含有一些特殊意义字符的字符串,这些特殊字符称为正则表达式的元字符。正则表达式中的元字符及其意义如表4-1 所示。

如何鉴别非法的电话号码

【知识扩展】

一个Java 对象(字符串也是Java 对象)必须先初始化才能使用,否则编译器会报告“使用的变量未初始化”错误。


【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多
  • 如何应用 if 语句判断某一年是否为闰年?
    如何应用 if 语句判断某一年是否为闰年?
    地球绕太阳一圈称之为一年,所用时间是 365 天 5 小时 48 分 46 秒,取 365 天为一年,4 年将多出 23 小时 15 分 6 秒,将近一天,所以 4 年设一闰日(2 月 29 日),该年称为闰年。如何应用 if 语句判断某一年是否为闰年? 详情>>

    2015-10-22

  • 能正确编译“short s = 1;s = s + 1;”吗?
    能正确编译“short s = 1;s = s + 1;”吗?
    在进行程序设计时,经常需要进行一些算术运算,有的运算能够通过编译器编译,而有的运算则不能通过编译器编译。那么能正确编译“short s = 1;s = s +1;“吗? 详情>>

    2015-10-22

  • java语言中如何修改失败的 if…else 语句?
    java语言中如何修改失败的 if…else 语句?
    判断下列程序代码的运行结果,如何修改代码中的条件判断才能正确执行 if…else语句。 详情>>

    2015-10-22

  • java语言中可以用 switch 分支语句代替 if 条件语句吗?
    java语言中可以用 switch 分支语句代替 if 条件语句吗?
    通常情况下,switch 语句比一系列嵌套的 if 语句更有效,那么是否可以用 switch 分支语句代替 if 条件语句呢? 详情>>

    2015-10-22

  • Java开班时间

    收起