❶ java中使用正則表達式驗證手機號碼,大家看我的代碼有什麼問題,沒得出正確的結果。
Patternp=Pattern.compile("^1[34578]\d{9}$");//改成這樣
Matcherm=p.matcher("15217855576");
System.out.println(m.matches());//true
❷ 我想用戶java replaceALL替換手機號碼中間的四個數字,中間的正則表達式不知道怎麼寫,哪位大師幫幫忙啊
樓主,正則表達式是匹配有特殊規律的一類數字或字母之類的,你手機號碼都是數字,怎麼匹配?我覺得你的這個問題應該用字元串截取來做,截取前三位跟後四位,然後用前三位+你要替換的字元串+後四位。
❸ Java如何使用正則表達式驗證港澳台手機號碼是否有效
不知道港台手機號什麼格式:
\d:匹配一個數字字元。等價於[0-9]。
{n,m}:m和n均為非負整數,其中n<=m。最少匹配n次且最多匹配m次。
匹配手機號無非是純數字,是否達到一定位數
❹ 急求一個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+)?$
*/
❺ java中如何提取一個字元串中的電話號碼
java中如何提取一個字元串中的電話號碼,先寫出手機號碼和固定號碼的正則表達式,然後創建模式,獲取到匹配器,從而刷選出符合要求的電話號碼,如下:
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;publicclassTestC{
publicstaticvoidmain(String[]args){
//要提前號碼的字元串
Stringstr="n13977777777s18911111111你好15988888888hha0955-7777777sss0775-6678111";
//提取手機號碼
checkCellphone(str);
//提取固定電話號碼
checkTelephone(str);
}
/**
*查詢符合的手機號碼
*@paramstr
*/
(Stringstr){
//將給定的正則表達式編譯到模式中
Patternpattern=Pattern.compile("((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\d{8}");
//創建匹配給定輸入與此模式的匹配器。
Matchermatcher=pattern.matcher(str);
//查找字元串中是否有符合的子字元串
while(matcher.find()){
//查找到符合的即輸出
System.out.println("查詢到一個符合的手機號碼:"+matcher.group());
}
}
/**
*查詢符合的固定電話
*@paramstr
*/
(Stringstr){
//將給定的正則表達式編譯到模式中
Patternpattern=Pattern.compile("(0\d{2}-\d{8}(-\d{1,4})?)|(0\d{3}-\d{7,8}(-\d{1,4})?)");
//創建匹配給定輸入與此模式的匹配器。
Matchermatcher=pattern.matcher(str);
//查找字元串中是否有符合的子字元串
while(matcher.find()){
//查找到符合的即輸出
System.out.println("查詢到一個符合的固定號碼:"+matcher.group());
}
}
結果:
查詢到一個符合的手機號碼:13977777777
查詢到一個符合的手機號碼:18911111111
查詢到一個符合的手機號碼:15988888888
查詢到一個符合的固定號碼:0955-7777777
查詢到一個符合的固定號碼:0775-6678111
❻ java中手機號碼用什麼數據類型表示
手機號碼可以用string數據類型來表示。
判斷是否為手機號碼可以通過正則表達式來處理,示例如下:
importjava.util.regex.Pattern;
importjava.util.regex.Matcher;
publicclassTest
{
publicstaticbooleancheck(Stringphonenumber)
{
Stringphone="1\d{2,3}-\d{7,8}";
Patternp=Pattern.compile(phone);
Matcherm=p.matcher(phonenumber);
returnm.matches();
}
publicstaticvoidmain(Stringargs[])
{
Strings="010-88888888";
System.out.println(Test.check(s));
}
}