固定電話+手機號碼正則表達式


區號+座機號碼+分機號碼:regexp="^(0[0-9]{2,3}/-)?([2-9][0-9]{6,7})+(/-[0-9]{1,4})?$"

手機(中國移動手機號碼):regexp="^((/(/d{3}/))|(/d{3}/-))?13[456789]/d{8}|15[89]/d{8}"

所有手機號碼:regexp="^((/(/d{3}/))|(/d{3}/-))?13[0-9]/d{8}|15[89]/d{8}"(新添加了158,159兩個號段)

((/d{11})|^((/d{7,8})|(/d{4}|/d{3})-(/d{7,8})|(/d{4}|/d{3})-(/d{7,8})-(/d{4}|/d{3}|/d{2}|/d{1})|(/d{7,8})-(/d{4}|/d{3}|/d{2}|/d{1}))$)

匹配格式:
11位手機號碼
3-4位區號,7-8位直播號碼,1-4位分機號
如:12345678901、1234-12345678-1234
 
1.用正則表達式限制只能輸入全角字符: onkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/uFF00-/uFFFF]/g,''))" 

2.用正則表達式限制只能輸入數字:onkeyup="value=value.replace(/[^/d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))" 

3.用正則表達式限制只能輸入數字和英文:onkeyup="value=value.replace(/[/W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))" 

4.計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1) 

String.prototype.len=function(){return this.replace([^/x00-/xff]/g,"aa").length;} 

5.javascript中沒有像vbscript那樣的trim函數,我們就可以利用這個表達式來實現,如下: 

String.prototype.trim = function() 

return this.replace(/(^/s*)|(/s*$)/g, ""); 


利用正則表達式分解和轉換IP地址: 

6.下面是利用正則表達式匹配IP地址,並將IP地址轉換成對應數值的Javascript程序: 

function IP2V(ip) 

re=/(/d+)/.(/d+)/.(/d+)/.(/d+)/g //匹配IP地址的正則表達式 
if(re.test(ip)) 

return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1 

else 

throw new Error("不是一個正確的IP地址!") 



不過上面的程序如果不用正則表達式,而直接用split函數來分解可能更簡單,程序如下: 

var ip="10.100.20.168" 
ip=ip.split(".") 
alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1)) 
正則表達式用於字符串處理、表單驗證等場合,實用高效。現將一些常用的表達式收集於此,以備不時之需。 


匹配中文字符的正則表達式: [/u4e00-/u9fa5] 
評注:匹配中文還真是個頭疼的事,有了這個表達式就好辦了 

匹配雙字節字符(包括漢字在內):[^/x00-/xff] 
評注:可以用來計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1) 

匹配空白行的正則表達式:/n/s*/r 
評注:可以用來刪除空白行 

匹配HTML標記的正則表達式:<(/S*?)[^>]*>.*?<//1>|<.*? /> 
評注:網上流傳的版本太糟糕,上面這個也僅僅能匹配部分,對於復雜的嵌套標記依舊無能為力 

匹配首尾空白字符的正則表達式:^/s*|/s*$ 
評注:可以用來刪除行首行尾的空白字符(包括空格、制表符、換頁符等等),非常有用的表達式 

匹配Email地址的正則表達式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)* 
評注:表單驗證時很實用 

匹配網址URL的正則表達式:[a-zA-z]+://[^/s]* 
評注:網上流傳的版本功能很有限,上面這個基本可以滿足需求 

匹配帳號是否合法(字母開頭,允許5-16字節,允許字母數字下划線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 
評注:表單驗證時很實用 

匹配國內電話號碼:/d{3}-/d{8}|/d{4}-/d{7} 
評注:匹配形式如 0511-4405222 或 021-87888822 

匹配騰訊QQ號:[1-9][0-9]{4,} 
評注:騰訊QQ號從10000開始 

匹配中國郵政編碼:[1-9]/d{5}(?!/d) 
評注:中國郵政編碼為6位數字 

匹配身份證:/d{15}|/d{18} 
評注:中國的身份證為15位或18位 

匹配ip地址:/d+/./d+/./d+/./d+ 
評注:提取ip地址時有用 

匹配特定數字: 
^[1-9]/d*$ //匹配正整數 
^-[1-9]/d*$ //匹配負整數 
^-?[1-9]/d*$ //匹配整數 
^[1-9]/d*|0$ //匹配非負整數(正整數 + 0) 
^-[1-9]/d*|0$ //匹配非正整數(負整數 + 0) 
^[1-9]/d*/./d*|0/./d*[1-9]/d*$ //匹配正浮點數 
^-([1-9]/d*/./d*|0/./d*[1-9]/d*)$ //匹配負浮點數 
^-?([1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0)$ //匹配浮點數 
^[1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0$ //匹配非負浮點數(正浮點數 + 0) 
^(-([1-9]/d*/./d*|0/./d*[1-9]/d*))|0?/.0+|0$ //匹配非正浮點數(負浮點數 + 0) 
評注:處理大量數據時有用,具體應用時注意修正 

匹配特定字符串: 
^[A-Za-z]+$ //匹配由26個英文字母組成的字符串 
^[A-Z]+$ //匹配由26個英文字母的大寫組成的字符串 
^[a-z]+$ //匹配由26個英文字母的小寫組成的字符串 
^[A-Za-z0-9]+$ //匹配由數字和26個英文字母組成的字符串 
^/w+$ //匹配由數字、26個英文字母或者下划線組成的字符串 
評注:最基本也是最常用的一些表達式 

匹配中文字符的正則表達式: [/u4e00-/u9fa5] 

匹配雙字節字符(包括漢字在內):[^/x00-/xff] 

匹配空行的正則表達式:/n[/s| ]*/r 

匹配HTML標記的正則表達式:/<(.*)>.*<///1>|<(.*) //>/ 

匹配首尾空格的正則表達式:(^/s*)|(/s*$) 

匹配Email地址的正則表達式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)* 

匹配網址URL的正則表達式:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)? 


^/d+$ //匹配非負整數(正整數 + 0) 
^[0-9]*[1-9][0-9]*$ //匹配正整數 
^((-/d+)|(0+))$ //匹配非正整數(負整數 + 0) 
^-[0-9]*[1-9][0-9]*$ //匹配負整數 
^-?/d+$ //匹配整數 
^/d+(/./d+)?$ //匹配非負浮點數(正浮點數 + 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+)?)|(0+(/.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+)?$ //匹配浮點數 
^[A-Za-z]+$ //匹配由26個英文字母組成的字符串 
^[A-Z]+$ //匹配由26個英文字母的大寫組成的字符串 
^[a-z]+$ //匹配由26個英文字母的小寫組成的字符串 
^[A-Za-z0-9]+$ //匹配由數字和26個英文字母組成的字符串 
^/w+$ //匹配由數字、26個英文字母或者下划線組成的字符串 
^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$ 



"^/d+$"  //非負整數(正整數 + 0) 
"^[0-9]*[1-9][0-9]*$"  //正整數 
"^((-/d+)|(0+))$"  //非正整數(負整數 + 0) 
"^-[0-9]*[1-9][0-9]*$"  //負整數 
"^-?/d+$"    //整數 
"^/d+(/./d+)?$"  //非負浮點數(正浮點數 + 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+)?)|(0+(/.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+)?$"  //浮點數 
"^[A-Za-z]+$"  //由26個英文字母組成的字符串 
"^[A-Z]+$"  //由26個英文字母的大寫組成的字符串 
"^[a-z]+$"  //由26個英文字母的小寫組成的字符串 
"^[A-Za-z0-9]+$"  //由數字和26個英文字母組成的字符串 
"^/w+$"  //由數字、26個英文字母或者下划線組成的字符串 
"^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$"    //email地址 
"^[a-zA-z]+://(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/S*)?$"  //url 
/^13/d{9}$/gi手機號正則表達式
public static bool IsValidMobileNo(string MobileNo)
{
   const string regPattern = @"^(130|131|132|133|134|135|136|137|138|139)/d{8}$";
   return Regex.IsMatch(MobileNo, regPattern);
}
正則表達式--驗證手機號碼:13[0-9]{9}
實現手機號前帶86或是+86的情況:^((/+86)|(86))?(13)/d{9}$
電話號碼與手機號碼同時驗證:(^(/d{3,4}-)?/d{7,8})$|(13[0-9]{9}) 
提取信息中的網絡鏈接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(/w|//|//|/.)+('|"| *|>)?  
提取信息中的郵件地址:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*  
提取信息中的圖片鏈接:(s|S)(r|R)(c|C) *= *('|")?(/w|//|//|/.)+('|"| *|>)?
提取信息中的IP地址:(/d+)/.(/d+)/.(/d+)/.(/d+)    
提取信息中的中國手機號碼:(86)*0*13/d{9}    
提取信息中的中國固定電話號碼:(/(/d{3,4}/)|/d{3,4}-|/s)?/d{8}    
提取信息中的中國電話號碼(包括移動和固定電話):(/(/d{3,4}/)|/d{3,4}-|/s)?/d{7,14}    
提取信息中的中國郵政編碼:[1-9]{1}(/d+){5}    
提取信息中的中國身份證號碼:/d{18}|/d{15}    
提取信息中的整數:/d+    
提取信息中的浮點數(即小數):(-?/d*)/.?/d+    
提取信息中的任何數字 :(-?/d*)(/./d+)?  
提取信息中的中文字符串:[/u4e00-/u9fa5]*    
提取信息中的雙字節字符串 (漢字):[^/x00-/xff]*
 
轉自:http://blog.csdn.net/wanglei2258/article/details/5530355


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM