① 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]$