原文地址:http://www.cnblogs.com/springsnow/archive/2010/05/17/1737152.html
- 只能輸入數字:"^[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+)*$"。
- 驗證InternetURL:"^http://([/w-]+/.)+[/w-]+(/[/w-./?%&=]*)?$"。
- 驗證電話號碼:"^(/(/d{3,4}-)|/d{3.4}-)?/d{7,8}$" 正確格式爲:"XXX-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"。
- 利用正則表達式限制網頁表單裏的文本框輸入內容:
用正則表達式限制只能輸入中文:οnkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))"
用正則表達式限制只能輸入全角字符: οnkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/uFF00-/uFFFF]/g,''))"
用正則表達式限制只能輸入數字:οnkeyup="value=value.replace(/[^/d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))" 用正則表達式限制只能輸入數字和英文:οnkeyup="value=value.replace(/[/W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))" - 得用正則表達式從URL地址中提取文件名的javascript程序,如下結果爲page1
s="http://www.9499.net/page1.htm"
s=s.replace(/(.*//){0,}([^/.]+).*/ig,"$2")
alert(s) - 匹配雙字節字符(包括漢字在內):[^/x00-/xff]
應用:計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1) String.prototype.len=function(){return this.replace([^/x00-/xff]/g,"aa").length;} - 匹配空行的正則表達式:/n[/s| ]*/r
- 匹配HTML標記的正則表達式:/<(.*)>.*<///1>|<(.*) //>/
- 匹配首尾空格的正則表達式:(^/s*)|(/s*$)
String.prototype.trim = function()
{
return this.replace(/(^/s*)|(/s*$)/g, "");
} - 利用正則表達式分解和轉換IP地址:
下面是利用正則表達式匹配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("Not a valid IP address!")
}
}不過上面的程序如果不用正則表達式,而直接用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))