① java如何判断手机号码是11为且第一位不是0且不是+86的形式
写在前面:最好还是用正则表达式,简单易懂,易于维护
===================================
//这个方法判断是不是合法的手机号码
public boolean isPhoneNumber(String phoneNumber){
//手机号码长度
int phoneLength=phoneNumber.length();
//第一位是不是0
String phoneOne=phoneNumber.substring(0,1);
//是不是 +86形式
int is86=phoneNumber.indexOf("+86");
//是纯数字 并且长度等于11 并且第一位不是0 并且 不包含+86
return isNumeric(phoneNumber)&&phoneLength==11&&!phoneOne.equals("0")&&is86==-1;
}
//这个方法判断字符串是不是纯数字
public static boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){
return false;
}
return true;
}
② java 正则表达式验证电话号码 11位数字,前2位是13开头 或15 开头 或18 开头
"^1[358]\\d{9}$"(不带引号)
这样就可以了
③ java如何验证正负整数11位,小数6位正则表达式可以吗
java验证正负整数11位,小数6位,可以使用正则表达式进行匹配,如下代码:
Stringstr="^[0-9]{1,11}+(.[0-9]{1,6})?$";//匹配整数11位,小数6位的正则表达式
Stringvalue="123456789.12345678";
if(value.matches(str)){
System.out.println("匹配");
}else{
System.out.println("不匹配");
}
④ 在JAVA里怎么获得9~11位的随机数
获取随机数的方法,参数是需要获取的随机数的长度
/**
* 需要的长回度
* @param length
*/
private static void getRadom(int length){
答//获取一个随机数
double rand = Math.random();
//将随机数转换为字符串
String str = String.valueOf(rand).replace("0.", "");
//截取字符串
String newStr = str.substring(0, length);
System.out.println(newStr);
}
其实就是利用Math.random()方法生成一个随机的double数,然后转换为字符串,在字符串中去做操作
⑤ java中用正则表达式验证数字规律,求正则表达式
以下正则均验证11位数字,数字中不能有空格等其它字符,均按照java语法使用两个反斜杠转义
验证AA
^(?=.*(.)\\1)1[358][0-9]{9}$
验证AABB
^(?=.*(.)\\1(.)\\2)1[358][0-9]{9}$
验证ABC
^(?=.*(.)(?!\\1)(.)(?!\\2))1[358][0-9]{9}$
验证符合ABC,也符合 AA
^(?=.*(.)(?!\\1)(.)(?!\\2))(?=.*(.)\\3)1[358][0-9]{9}$
验证尾数为6
^1[358][0-9]{8}6$
验证尾数为8
^1[358][0-9]{8}8$
验证尾数不为4
^1[358][0-9]{8}[0-35-9]$