Java语言-16:正则表达式的与一些常用方法和最基础的校验---电话校验

package Regular_expression;


import java.util.Scanner;


/*正则表达式通常用于校验
 * 字符


x x字符
\\ 反斜线字符
\t 制表符 
\n 换行符
\r 回车符 


字符类:
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围) 

预定义字符类:
. 任何字符 如果本身就是. \. qq.com 写正则表达式(\\.) 
\d 数字:[0-9] 写正则表达式 :\\d
\w 单词字符:[a-zA-Z_0-9]:字母大小写,数字字符 \\w


边界匹配器:
^ 行的开头 
$ 行的结尾 
\b 单词边界 尾 (helloword?haha:world)


Greedy 数量词(重点)
X? X,一次或一次也没有 
X* X,零次或多次 
X+ X,一次或多次 
X{n} X字符恰好出现n次
X{n,} X字符至少出现n次
X{n,m} X字符至少出现n次,但不超过m次

 * */
public class Regular_expression_geberal_usage {


public static void main(String[] args) {
//用程序实现正则表达式的一些方法
/*校验1:
* 需求:检验电话号码归属的归属地
* 定义规则: 1)电话号码位数8-12位  
*    3)全为数字
*    4)第一个数字必须为0


* */
//开始实现:
//创建键盘录入对象
Scanner sc = new Scanner(System.in);

//提醒用户输入
System.out.println("请输入你的电话号码");

//接收用户输入的电话号码
String phone = sc.nextLine(); 

//调用校验的功能
boolean flag = checkPhone(phone) ;
System.out.println(flag);

}


private static boolean checkPhone(String phone) {
//假设:返回值是true
boolean flag = true;

//进行判断
//1)位数是8-12位
if(phone.length() >= 88&&phone.length() <= 12){
//2)必须以0开头
while(phone.startsWith("0")){

//3)将字符串转换为字符数组
char[]ch = phone.toCharArray();
//4)遍历
for(int x = 0;x < ch.length;x++){
//获取每一个字符

char ch1 = ch[x] ;
//5)在while循环来判断是否是数字:Character 有一个方法:isDigit()
while(x != 0){
flag = true;
break;
}
}
}

}
else{
flag = false;
}
return flag;

}


}

猜你喜欢

转载自blog.csdn.net/qq_41833394/article/details/80186745
今日推荐