A. java 判斷號碼是手機還是固話
/**
* 驗證是否是手機號碼
*
* @param str
* @return
*/
public static boolean isPhone(String str) {
if (ValidationUtils.isEmpty(str)) {
return false;
}
Pattern pattern = Pattern.compile("^(1[3,4,5,7,8][0-9])\\d{8}$");
Matcher matcher = pattern.matcher(str);
boolean b = matcher.matches();
return b;
}
/**
* 是否是座機電話號碼
*
* @param str
* @return
*/
public static boolean isFixedLine(String str) {
if (ValidationUtils.isEmpty(str)) {
return false;
}
Pattern pattern = Pattern
.compile("^([0-9]{3}-?[0-9]{8})|([0-9]{4}-?[0-9]{7})$");
Matcher matcher = pattern.matcher(str);
boolean b = matcher.matches();
return b;
}
B. java里怎麼判斷用戶輸入的手機號是否合法
如果沒有其他要求,下面的就可以
^(13|15|18)\\d{9}$
表示以13或15或18開頭,後面9位數字結尾
public class SortTest {
public static void main(String[] args) {
String str="13020895785";
System.out.println(str.matches("^(13|15|18)\\d{9}$"));
}
}
C. Java如何使用正則表達式驗證港澳台手機號碼是否有效
不知道港台手機號什麼格式:
\d:匹配一個數字字元。等價於[0-9]。
{n,m}:m和n均為非負整數,其中n<=m。最少匹配n次且最多匹配m次。
匹配手機號無非是純數字,是否達到一定位數
D. java編程實現自定義異常判斷一個手機號碼的合法性
用正則判斷,
/**
*驗證手機號碼格式是否正確
*@parammobiles
*@returntrue表示正確false表示不正確
*/
(Stringmobiles){
Patternp=Pattern.compile("^((13[0-9])|(15[0-9])|(18[0-9]))\d{8}");
Matcherm=p.matcher(mobiles);
returnm.matches();
}
當然手機號碼好像還有17開頭的,對應的正則改一下就好
"^((13[0-9])|(15[0-9])|(18[0-9])|(17[0-9]))\d{8}"
然後在你的代碼裡面調用這個方法,如果結果為false,就throw new MyException(「手機號碼格式不正確」)一個異常。
異常定義可以去繼承Exception
/**
*CreatedbyKevinon2015/3/30.
*/
{
privateStringmsg;
publicMyException(Stringmsg){
super(msg);
this.msg=msg;
}
@Override
publicStringgetMessage(){
returnmsg;
}
}
E. 急求一個JAVA中判斷用戶輸入的數字是一個合法的電話號碼的正則表達式,包括住宅電話與行動電話。
// TODO : 用正則表達式判斷一個字元串中是否為電話號碼,--無誤格式為:-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX
String s="333212";
Pattern p=Pattern.compile("^(\(\d{3:4}\)|\d{3:4}-)?\d{7:8}$");
Matcher m=p.matcher(s);
System.out.println(m.matches());
/**
* 考證數字:^[0-9]*$
考證n位的數字:^\d{n}$
考證至多n位數字:^\d{n:}$
考證m-n位的數字:^\d{m:n}$
考證零和非零開頭的數字:^(0|[1-9][0-9]*)$
考證有兩位小數的正實數:^[0-9]+(.[0-9]{2})?$
考證有1-3位小數的正實數:^[0-9]+(.[0-9]{1:3})?$
考證非零的正整數:^\+?[1-9][0-9]*$
考證非零的負整數:^\-[1-9][0-9]*$
考證非負整數(正整數 + 0) ^\d+$
考證非正整數(負整數 + 0) ^((-\d+)|(0+))$
考證長度為3的字元:^.{3}$
考證由26個英文字母組成的字元串:^[A-Za-z]+$
考證由26個大寫英文字母組成的字元串:^[A-Z]+$
考證由26個大寫英文字母組成的字元串:^[a-z]+$
考證由數字和26個英文字母組成的字元串:^[A-Za-z0-9]+$
考證由數字、26個英文字母恐怕下劃線組成的字元串:^\w+$
考證用戶密碼:^[a-zA-Z]\w{5:17}$無誤格式為:以字母開頭,長度在6-18之間,只能包羅字元、數字和下劃線。
考證是否含有 ^%&rev;':;=?$"等字元:[^%&rev;':;=?$\x22]+
考證漢字:^[\一-\龥]:{0:}$
考證Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
考證InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&rev;=]*)?$;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
考證電話號碼:^(\(\d{3:4}\)|\d{3:4}-)?\d{7:8}$:--無誤格式為:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
考證身份證號(15位或18位數字):^\d{15}|\d{}18$
考證一年的12個月:^(0?[1-9]|1[0-2])$ 無誤格式為:「01」-「09」和「1」「12」
考證一個月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$無誤格式為:01、09和1、31。
整數:^-?\d+$
非負浮點數(正浮點數 + 0):^\d+(\.\d+)?$
正浮點數^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮點數(負浮點數 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$
負浮點數^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮點數 ^(-?\d+)(\.\d+)?$
*/
F. java中給定字元串,看它是否為手機號
Pattern p = Pattern.compile("1\\d{10}");
Matcher m = p.matcher(13145632378);
boolean b = m.matches();
如果b為true,則為手機抄號。
在java程序中由於「\」表示轉義字元用「\\」表示「\d」中的「\」
G. 安卓或者java判斷是不是手機號或電話號的方法
Pattern p = Pattern.compile("1\\d{10}"); Matcher m = p.matcher(13145632378); boolean b = m.matches(); 在java程序中由於「\」專表示轉義字元用屬「\\」表示「\d」中的「\」
H. 求java代碼判斷手機號是不是移動號
這個你要根據移動和其他號碼不同的地方 , 也就是開頭三位數來判斷啊
可以將手機號用字版符來權表示
然後用String的 startsWith("150") 方法來判斷 , 當然如果這樣的話 , 你需要搜集移動號碼的所有可能性 , 然後用 || 邏輯或 放在一起
或者你也可以把所有移動手機號所屬的前三位 放到一個數組或者集合中 , 比如{"150","158"}
然後把需要判斷的手機號 截取前三位 , 判斷是否在集合或者數組中
I. 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;
}