① 急求一個java中判斷用戶輸入的數字是一個合法的電話號碼的正則表達式,包括住宅電話與行動電話。
// TODO : 用正則表達式判斷一個字元串中是否為電話號碼,--無誤格式為:XXXX-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使用正則表達式驗證電話號碼是java的哪部分內容
這是javascript,不是java啊,兩種語言
④ java中電話號碼的正則表達式,只要是11位就可以了,不限定是什麼開頭
首先說明下正則表達式是通用的,不只是JAVA中
下面給個簡單的匹配
^1[0-9]{10}$
或者
^1\d{10}$
上面就最簡單的符合數字而已,如果LZ不考慮第一位是否是1
直接^\d{11}$
⑤ java 正則表達式 1[3,5,7,8][1-9]{8,8} 我想簡單的測試一下電話號碼 請問後面的{8,8}能用別的代替掉嗎
這個正則是:
第一位1
第二位 可以是 3 5 7 8 或者 , 逗號,對你沒看錯...可以匹配逗號
然後接下來8位 1-9, 不包含0啊?
所以有些錯誤..
修改成
1[3578][0-9]{8} 就可以
⑥ Java中什麼是正則表達式
正則表達式 就是將一個類型的數據 按照一定方式 寫成正則表達式的形式 這樣可以辨別數據是否符合這一類型的數據 比如我們的身份證號碼 就是有一定的規則的 這樣我們寫一個 正則表達式 和別人輸入的身份證號碼 比對 如果符合這個正則表達式的規則 就是身份證號碼
⑦ java 正則表達式是什麼
匹配首尾空格的正則表達式:(^s*)|(s*$)。
匹配html標簽的正則表達式:<(.*)>(.*)</(.*)>|<(.*)/>。
配空行的正則表達式: [s| ]* 。
整數或者小數:^[0-9]+.{0,1}[0-9]{0,2}$。
只能輸入數字:"^[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"*$。
只能輸入長度為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之間,只能包含字元、數字和下劃線。
驗證是否含有^%&',;=?$"等字元:"[^%&',;=?$x22]+"。
只能輸入漢字:"^[u4e00-u9fa5]{0,}$"。
驗證Email地址:"^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$"。
驗證一年的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"。
匹配中文字元的正則表達式: [u4e00-u9fa5]。
匹配雙位元組字元(包括漢字在內):[^x00-xff]。
應用:計算字元串的長度(一個雙位元組字元長度計2,ASCII字元計1)String.prototype.len=function(){returnthis.replace(/[^x00-xff]/g,"aa").length;}。
⑧ Java中使用正則表達式驗證手機號碼,大家看我的代碼有什麼問題,沒得出正確的結果。
Patternp=Pattern.compile("^1[34578]\d{9}$");//改成這樣
Matcherm=p.matcher("15217855576");
System.out.println(m.matches());//true
⑨ java 問題,電話正則表達式:^(0[0-9]{2,3}-)([2-9][0-9]{6,7})+(-[0-9]{1,4})$
^1[3|4|5|8][0-9]\\d{6,8}$
表達式完全可以寫成
^1[3|4|5|8]\\d{7,9}$
沒有問題的,[0-9]
和
\\d
是完全一樣的
手機號碼是11位的應該寫成
^1[3458]\\d{9}$
這樣吧
⑩ java正則表達式獲取電話號碼問題
在正則表達式中限定行首到行尾就可以了
^((13\d)|(15\d))\d{8}$