在注册会员是,经常需要输入电话号码,电话号码是只手机号码或者固定电话。如果输入的内容不合法,则会向用户输出提士。本实例模拟实现电话号码的验证功能,接收用户在控制台输入的电话号码,然后进行判断,并将结果输出。
在这里使用《Java正则表达式》一节中讲到的正则表达式支持的字符来实现,步骤如下。
(1)创建名为Test21.java的Java文件,在main()方法中开始编写代码。
import java.until.Scanner;
import java.until.regex.Matcher;
import java.until.regex.Pattern;
public class Text21{
public static void main(String[] args){
//编写代码
}
}
(2)声明String类型的regex变量,它是用于验证电话号码的表达式。代码如下:
String regex = "0\\d{2,3}[-]?\\d{7,8}|0\\d{2,3}\\s?\\d{7,8}|13[0-9]\\d{8}|15[1089]\\d{8}";
电话号码包括固定电话和手机号码。其中固定电话是由区好和号码组成,区号是以0开头的,后面是2·3位数,因此在匹配区号的时候可以使用正则表达式0\d{2,3}。固定电话号码由7·8位数字组成,因此可以使用表达式\d{7,8}来进行匹配。固定电话的组合方式可能是"区号-号码"或者是"区号号码",因此匹配固定电话号码时,可以使用"0\\d{2,3}[-]?\\d{7,8}|0\\d{2,3