package com.正则;
/**
* 校验QQ号
* 要求:
* 1,5-15位
* 2,0不能开头
* 3,只能是数字
*
* @author zjw
*
*/
public class Check_QQ {
public static void main(String[] args) {
String qq="332a222";
method3(qq);
}
//最普通方法
public static void method1(String qq){
if(qq.length()<=15&&qq.length()>=5){
if(!qq.startsWith("0")){
char[]c=qq.toCharArray();
boolean boo=false;
for (int i = 0; i < c.length; i++) {
if(c[i]<='9' && c[i]>='0'){
boo=true;
}else{
boo=false;
break;
}
}
if(!boo){
System.out.println("QQ中有非法字符");
}else{
System.out.println("ok,你的qq合法:"+qq);
}
}else{
System.out.println("QQ不能以0开头");
}
}else{
System.out.println("QQ长度不符合");
}
}
//利用Long.parseLong();如果出现数字格式化异常,说明非法字符
public static void method2(String qq){
if(qq.length()<=15&&qq.length()>=5){
if(!qq.startsWith("0")){
try{
Long qq_long=Long.parseLong(qq);
}catch(NumberFormatException e){
System.out.println("qq中含有非法字符");
}
}else{
System.out.println("QQ不能以0开头");
}
}else{
System.out.println("QQ长度不符合");
}
}
//利用正则
public static void method3(String qq){
String regex="[1-9][0-9]{4,14}";
boolean boo=qq.matches(regex);
if(boo){
System.out.println(qq+"is ok!!");
}else{
System.out.println("不合法");
}
}
}