常用的正則表達(dá)式集錦
更新時(shí)間:2015年06月11日 09:17:14 投稿:hebedich
正則式太難學(xué),而且容易忘記,很多不太懂正則的朋友,在遇到需要用正則校驗(yàn)數(shù)據(jù)時(shí),往往是在網(wǎng)上去找很久,結(jié)果找來(lái)的還是不很符合要求。所以我最近把開(kāi)發(fā)中常用的一些正則表達(dá)式整理了一下,在這里分享一下。自己做個(gè)記錄,也給朋友們做個(gè)參考。
常用的正則表達(dá)式集錦
1.驗(yàn)證數(shù)字:
只能輸入1個(gè)數(shù)字
表達(dá)式 ^\d$
描述 匹配一個(gè)數(shù)字
匹配的例子 0,1,2,3
不匹配的例子
2.只能輸入n個(gè)數(shù)字
表達(dá)式 ^\d{n}$ 例如^\d{8}$
描述 匹配8個(gè)數(shù)字
匹配的例子 12345678,22223334,12344321
不匹配的例子
3.只能輸入至少n個(gè)數(shù)字
表達(dá)式 ^\d{n,}$ 例如^\d{8,}$
描述 匹配最少n個(gè)數(shù)字
匹配的例子 12345678,123456789,12344321
不匹配的例子
4.只能輸入m到n個(gè)數(shù)字
表達(dá)式 ^\d{m,n}$ 例如^\d{7,8}$
描述 匹配m到n個(gè)數(shù)字
匹配的例子 12345678,1234567
不匹配的例子 123456,123456789
5.只能輸入數(shù)字
表達(dá)式 ^[0-9]*$
描述 匹配任意個(gè)數(shù)字
匹配的例子 12345678,1234567
不匹配的例子 E,清清月兒
6.只能輸入某個(gè)區(qū)間數(shù)字
表達(dá)式 ^[12-15]$
描述 匹配某個(gè)區(qū)間的數(shù)字
匹配的例子 12,13,14,15
不匹配的例子
7.只能輸入0和非0打頭的數(shù)字
表達(dá)式 ^(0|[1-9][0-9]*)$
描述 可以為0,第一個(gè)數(shù)字不能為0,數(shù)字中可以有0
匹配的例子 12,10,101,100
不匹配的例子 01,清清月兒,http://blog.csdn.net/21aspnet
8.只能輸入實(shí)數(shù)
表達(dá)式 ^[-+]?\d+(\.\d+)?$
描述 匹配實(shí)數(shù)
匹配的例子 18,+3.14,-9.90
不匹配的例子 .6,33s,67-99
9.只能輸入n位小數(shù)的正實(shí)數(shù)
表達(dá)式 ^[0-9]+(.[0-9]{n})?$以^[0-9]+(.[0-9]{2})?$為例
描述 匹配n位小數(shù)的正實(shí)數(shù)
匹配的例子 2.22
不匹配的例子 2.222,-2.22,http://blog.csdn.net/21aspnet
10.只能輸入m-n位小數(shù)的正實(shí)數(shù)
表達(dá)式 ^[0-9]+(.[0-9]{m,n})?$以^[0-9]+(.[0-9]{1,2})?$為例
描述 匹配m到n位小數(shù)的正實(shí)數(shù)
匹配的例子 2.22,2.2
不匹配的例子 2.222,-2.2222,http://blog.csdn.net/21aspnet
11.只能輸入非0的正整數(shù)
表達(dá)式 ^\+?[1-9][0-9]*$
描述 匹配非0的正整數(shù)
匹配的例子 2,23,234
不匹配的例子 0,-4,
12.只能輸入非0的負(fù)整數(shù)
表達(dá)式 ^\-[1-9][0-9]*$
描述 匹配非0的負(fù)整數(shù)
匹配的例子 -2,-23,-234
不匹配的例子 0,4,
13.只能輸入n個(gè)字符
表達(dá)式 ^.{n}$ 以^.{4}$為例
描述 匹配n個(gè)字符,注意漢字只算1個(gè)字符
匹配的例子 1234,12we,123清,清清月兒
不匹配的例子 0,123,123www,http://blog.csdn.net/21aspnet/
14.只能輸入英文字符
表達(dá)式 ^.[A-Za-z]+$為例
描述 匹配英文字符,大小寫(xiě)任意
匹配的例子 Asp,WWW,
不匹配的例子 0,123,123www,http://blog.csdn.net/21aspnet/
15.只能輸入大寫(xiě)英文字符
表達(dá)式 ^.[A-Z]+$為例
描述 匹配英文大寫(xiě)字符
匹配的例子 NET,WWW,
不匹配的例子 0,123,123www,
16.只能輸入小寫(xiě)英文字符
表達(dá)式 ^.[a-z]+$為例
描述 匹配英文大寫(xiě)字符
匹配的例子 asp,csdn
不匹配的例子 0,NET,WWW,
17.只能輸入英文字符+數(shù)字
表達(dá)式 ^.[A-Za-z0-9]+$為例
描述 匹配英文字符+數(shù)字
匹配的例子 1Asp,W1W1W,
不匹配的例子 0,123,123,www,http://blog.csdn.net/21aspnet/
18.只能輸入英文字符/數(shù)字/下劃線(xiàn)
表達(dá)式 ^\w+$為例
描述 匹配英文字符或數(shù)字或下劃線(xiàn)
匹配的例子 1Asp,WWW,12,1_w
不匹配的例子 3#,2-4,w#$,http://blog.csdn.net/21aspnet/
19.密碼舉例
表達(dá)式 ^.[a-zA-Z]\w{m,n}$
描述 匹配英文字符開(kāi)頭的m-n位字符且只能數(shù)字字母或下劃線(xiàn)
匹配的例子
不匹配的例子
20.驗(yàn)證首字母大寫(xiě)
表達(dá)式 \b[^\Wa-z0-9_][^\WA-Z0-9_]*\b
描述 首字母只能大寫(xiě)
匹配的例子 Asp,Net
不匹配的例子 http://blog.csdn.net/21aspnet/
21.驗(yàn)證網(wǎng)址(帶?id=中文)VS.NET2005無(wú)此功能
表達(dá)式 ^http:\/\/([\w-]+(\.[\w-]+)+(\/[\w- .\/\?%&=\u4e00-\u9fa5]*)?)?$
描述 驗(yàn)證帶?id=中文
匹配的例子 http://blog.csdn.net/21aspnet/,
http://blog.csdn.net?id=清清月兒
不匹配的例子
22.驗(yàn)證漢字
表達(dá)式 ^[\u4e00-\u9fa5]{0,}$
描述 只能漢字
匹配的例子 清清月兒
不匹配的例子 http://blog.csdn.net/21aspnet/
23.驗(yàn)證QQ號(hào)
表達(dá)式 [0-9]{5,9}
描述 5-9位的QQ號(hào)
匹配的例子 10000,123456
不匹配的例子 10000w,http://blog.csdn.net/21aspnet/
24.驗(yàn)證電子郵件(驗(yàn)證MSN號(hào)一樣)
表達(dá)式 \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
描述 注意MSN用非hotmail.com郵箱也可以
匹配的例子 aaa@msn.com
不匹配的例子 111@1. http://blog.csdn.net/21aspnet/
25.驗(yàn)證身份證號(hào)(粗驗(yàn),最好服務(wù)器端調(diào)類(lèi)庫(kù)再細(xì)驗(yàn)證)
表達(dá)式 ^[1-9]([0-9]{16}|[0-9]{13})[xX0-9]$
描述
匹配的例子 15或者18位的身份證號(hào),支持帶X的
不匹配的例子 http://blog.csdn.net/21aspnet/
26.驗(yàn)證手機(jī)號(hào)(包含159,不包含小靈通)
表達(dá)式 ^13[0-9]{1}[0-9]{8}|^15[9]{1}[0-9]{8}
描述 包含159的手機(jī)號(hào)130-139
匹配的例子 139XXXXXXXX
不匹配的例子 140XXXXXXXX,http://blog.csdn.net/21aspnet/
27.驗(yàn)證電話(huà)號(hào)碼號(hào)(很復(fù)雜,VS.NET2005給的是錯(cuò)的)
表達(dá)式(不完美) 方案一 ((\(\d{3}\)|\d{3}-)|(\(\d{4}\)|\d{4}-))?(\d{8}|\d{7})
方案二 (^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$) 支持手機(jī)號(hào)但也不完美
描述 上海:02112345678 3+8位
上海:021-12345678
上海:(021)-12345678
上海:(021)12345678
鄭州:03711234567 4+7位
杭州:057112345678 4+8位
還有帶上分機(jī)號(hào),國(guó)家碼的情況
由于情況非常復(fù)雜所以不建議前臺(tái)做100%驗(yàn)證,到目前為止似乎也沒(méi)有誰(shuí)能寫(xiě)一個(gè)包含所有的類(lèi)型,其實(shí)有很多情況本身就是矛盾的。
如果誰(shuí)有更好的驗(yàn)證電話(huà)的請(qǐng)留言
匹配的例子
不匹配的例子
28.驗(yàn)證護(hù)照
表達(dá)式 (P\d{7})|G\d{8})
描述 驗(yàn)證P+7個(gè)數(shù)字和G+8個(gè)數(shù)字
匹配的例子
不匹配的例子 清清月兒,http://blog.csdn.net/21aspnet/
29.驗(yàn)證IP
表達(dá)式 ^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$
描述 驗(yàn)證IP
匹配的例子 192.168.0.1 222.234.1.4
不匹配的例子
30.驗(yàn)證域
表達(dá)式 ^[a-zA-Z0-9]+([a-zA-Z0-9\-\.]+)?\.s|)$
描述 驗(yàn)證域
匹配的例子 csdn.net baidu.com it.com.cn
不匹配的例子 192.168.0.1
31.驗(yàn)證信用卡
表達(dá)式 ^((?:4\d{3})|(?:5[1-5]\d{2})|(?:6011)|(?:3[68]\d{2})|(?:30[012345]\d))[ -]?(\d{4})[ -]?(\d{4})[ -]?(\d{4}|3[4,7]\d{13})$
描述 驗(yàn)證VISA卡,萬(wàn)事達(dá)卡,Discover卡,美國(guó)運(yùn)通卡
匹配的例子
不匹配的例子
32.驗(yàn)證ISBN國(guó)際標(biāo)準(zhǔn)書(shū)號(hào)
表達(dá)式 ^(\d[- ]*){9}[\dxX]$
描述 驗(yàn)證ISBN國(guó)際標(biāo)準(zhǔn)書(shū)號(hào)
匹配的例子 7-111-19947-2
不匹配的例子
33.驗(yàn)證GUID全球唯一標(biāo)識(shí)符
表達(dá)式 ^[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}$
描述 格式8-4-4-4-12
匹配的例子 2064d355-c0b9-41d8-9ef7-9d8b26524751
不匹配的例子
34.驗(yàn)證文件路徑和擴(kuò)展名
表達(dá)式 ^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"<>|]+\.txt(l)?$
描述 檢查路徑和文件擴(kuò)展名
匹配的例子 E:\mo.txt
不匹配的例子 E:\ , mo.doc, E:\mo.doc ,http://blog.csdn.net/21aspnet/
35.驗(yàn)證Html顏色值
表達(dá)式 ^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$
描述 檢查顏色取值
匹配的例子 #FF0000
不匹配的例子 http://blog.csdn.net/21aspnet/
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$
整數(shù)或者小數(shù):^[0-9]+\.{0,1}[0-9]{0,2}$
只能輸入數(shù)字:"^[0-9]*$"。
只能輸入n位的數(shù)字:"^\d{n}$"。
只能輸入至少n位的數(shù)字:"^\d{n,}$"。
只能輸入m~n位的數(shù)字:。"^\d{m,n}$"
只能輸入零和非零開(kāi)頭的數(shù)字:"^(0|[1-9][0-9]*)$"。
只能輸入有兩位小數(shù)的正實(shí)數(shù):"^[0-9]+(.[0-9]{2})?$"。
只能輸入有1~3位小數(shù)的正實(shí)數(shù):"^[0-9]+(.[0-9]{1,3})?$"。
只能輸入非零的正整數(shù):"^\+?[1-9][0-9]*$"。
只能輸入非零的負(fù)整數(shù):"^\-[1-9][]0-9"*$。
只能輸入長(zhǎng)度為3的字符:"^.{3}$"。
只能輸入由26個(gè)英文字母組成的字符串:"^[A-Za-z]+$"。
只能輸入由26個(gè)大寫(xiě)英文字母組成的字符串:"^[A-Z]+$"。
只能輸入由26個(gè)小寫(xiě)英文字母組成的字符串:"^[a-z]+$"。
只能輸入由數(shù)字和26個(gè)英文字母組成的字符串:"^[A-Za-z0-9]+$"。
只能輸入由數(shù)字、26個(gè)英文字母或者下劃線(xiàn)組成的字符串:"^\w+$"。
驗(yàn)證用戶(hù)密碼:"^[a-zA-Z]\w{5,17}$"正確格式為:以字母開(kāi)頭,長(zhǎng)度在6~18之間,只能包含字符、數(shù)字和下劃線(xiàn)。
驗(yàn)證是否含有^%&',;=?$\"等字符:"[^%&',;=?$\x22]+"。
只能輸入漢字:"^[\u4e00-\u9fa5]{0,}$"
驗(yàn)證Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
驗(yàn)證InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
驗(yàn)證電話(huà)號(hào)碼:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正確格式為:"XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。
驗(yàn)證身份證號(hào)(15位或18位數(shù)字):"^\d{15}|\d{18}$"。
驗(yàn)證一年的12個(gè)月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。
驗(yàn)證一個(gè)月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。
匹配中文字符的正則表達(dá)式: [\u4e00-\u9fa5]
匹配雙字節(jié)字符(包括漢字在內(nèi)):[^\x00-\xff]
應(yīng)用:計(jì)算字符串的長(zhǎng)度(一個(gè)雙字節(jié)字符長(zhǎng)度計(jì)2,ASCII字符計(jì)1)
String.prototype.len=function(){return this.replace(/[^\x00-\xff]/g,"aa").length;}
匹配空行的正則表達(dá)式:\n[\s| ]*\r
匹配html標(biāo)簽的正則表達(dá)式:<(.*)>(.*)<\/(.*)>|<(.*)\/>
匹配首尾空格的正則表達(dá)式:(^\s*)|(\s*$)
應(yīng)用:javascript中沒(méi)有像vbscript那樣的trim函數(shù),我們就可以利用這個(gè)表達(dá)式來(lái)實(shí)現(xiàn),如下:
String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
利用正則表達(dá)式分解和轉(zhuǎn)換IP地址:
下面是利用正則表達(dá)式匹配IP地址,并將IP地址轉(zhuǎn)換成對(duì)應(yīng)數(shù)值的Javascript程序:
function IP2V(ip)
{
re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配IP地址的正則表達(dá)式
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!")
}
}
不過(guò)上面的程序如果不用正則表達(dá)式,而直接用split函數(shù)來(lái)分解可能更簡(jiǎn)單,程序如下:
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))
匹配Email地址的正則表達(dá)式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配網(wǎng)址URL的正則表達(dá)式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
利用正則表達(dá)式限制網(wǎng)頁(yè)表單里的文本框輸入內(nèi)容:
用正則表達(dá)式限制只能輸入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
用正則表達(dá)式限制只能輸入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
用正則表達(dá)式限制只能輸入數(shù)字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
用正則表達(dá)式限制只能輸入數(shù)字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5\w]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5\w]/g,''))" value="允許下劃線(xiàn),數(shù)字字母和漢字">
<script language="javascript">
if (document.layers)//觸發(fā)鍵盤(pán)事件
document.captureEvents(Event.KEYPRESS)
function xz(thsv,nob){
if(nob=="2"){
window.clipboardData.setData("text","")
alert("避免非法字符輸入,請(qǐng)勿復(fù)制字符");
return false;
}
if (event.keyCode!=8 && event.keyCode!=16 && event.keyCode!=37 && event.keyCode!=38 && event.keyCode!=39 && event.keyCode!=40){
thsvv=thsv.value;//輸入的值
thsvs=thsvv.substring(thsvv.length-1);//輸入的最后一個(gè)字符
//thsvss=thsvv.substring(0,thsvv.length-1);//去掉最后一個(gè)錯(cuò)誤字符
if (!thsvs.replace(/[^\u4E00-\u9FA5\w]/g,'') || event.keyCode==189){//正則除去符號(hào)和下劃線(xiàn) key
thsv.value='請(qǐng)勿輸入非法符號(hào) ['+thsvs+']';
alert('請(qǐng)勿輸入非法符號(hào) ['+thsvs+']');
thsv.value="";
return false;
}
}
}
</script>
<input onkeyup="xz(this,1)" onPaste="xz(this,2)" value="">允許數(shù)字字母和漢字
<script language="javascript">
<!--
function MaxLength(field,maxlimit){
var j = field.value.replace(/[^\x00-\xff]/g,"**").length;
//alert(j);
var tempString=field.value;
var tt="";
if(j > maxlimit){
for(var i=0;i<maxlimit;i++){
if(tt.replace(/[^\x00-\xff]/g,"**").length < maxlimit)
tt = tempString.substr(0,i+1);
else
break;
}
if(tt.replace(/[^\x00-\xff]/g,"**").length > maxlimit)
tt=tt.substr(0,tt.length-1);
field.value = tt;
}else{
;
}
}
</script>
單行文本框控制<br />
<INPUT type="text" id="Text1" name="Text1" onpropertychange="MaxLength(this, 5)"><br />
多行文本框控制:<br />
<TEXTAREA rows="14"
cols="39" id="Textarea1" name="Textarea1" onpropertychange="MaxLength(this, 15)"></TEXTAREA><br />
控制表單內(nèi)容只能輸入數(shù)字,中文....
<script>
function test()
{
if(document.a.b.value.length>50)
{
alert("不能超過(guò)50個(gè)字符!");
document.a.b.focus();
return false;
}
}
</script>
<form name=a onsubmit="return test()">
<textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea>
<input type="submit" name="Submit" value="check">
</form>
只能是漢字
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')">
只能是英文字符
<script language=javascript>
function onlyEng()
{
if(!(event.keyCode>=65&&event.keyCode<=90))
event.returnValue=false;
}
</script>
<input onkeydown="onlyEng();">
<input name="coname" type="text" size="50" maxlength="35" class=input2 onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
只能是數(shù)字
<script language=javascript>
function onlyNum()
{
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
//考慮小鍵盤(pán)上的數(shù)字鍵
event.returnValue=false;
}
</script>
<input onkeydown="onlyNum();">
只能是英文字符和數(shù)字
<input onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
驗(yàn)證為email格式
<SCRIPT LANGUAGE=Javascript RUNAT=Server>
function isEmail(strEmail) {
if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
return true;
else
alert("oh");
}
</SCRIPT>
<input type=text onblur=isEmail(this.value)>
屏蔽關(guān)鍵字(sex , fuck) - 已修改
<script language="JavaScript1.2">
function test() {
if((a.b.value.indexOf ("sex") == 0)||(a.b.value.indexOf ("fuck") == 0)){
alert("五講四美三熱愛(ài)");
a.b.focus();
return false;}
}
</script>
<form name=a onsubmit="return test()">
<input type=text name=b>
<input type="submit" name="Submit" value="check">
</form>
限制文本框里只能輸入數(shù)字
<input onkeyup="if(event.keyCode !=37 && event.keyCode != 39) value=value.replace(/\D/g,'');"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/\D/g,''))">
手機(jī)號(hào)碼:(^(\d{3,4}-)?\d{7,8})$|(13[0-9]{9})|(15[8-9]{9})
不會(huì)的也可以根據(jù)上面介紹的寫(xiě)出來(lái)了吧,只是得花點(diǎn)時(shí)間了。
驗(yàn)證數(shù)字的正則表達(dá)式集
驗(yàn)證數(shù)字:^[0-9]*$
驗(yàn)證n位的數(shù)字:^\d{n}$
驗(yàn)證至少n位數(shù)字:^\d{n,}$
驗(yàn)證m-n位的數(shù)字:^\d{m,n}$
驗(yàn)證零和非零開(kāi)頭的數(shù)字:^(0|[1-9][0-9]*)$
驗(yàn)證有兩位小數(shù)的正實(shí)數(shù):^[0-9]+(.[0-9]{2})?$
驗(yàn)證有1-3位小數(shù)的正實(shí)數(shù):^[0-9]+(.[0-9]{1,3})?$
驗(yàn)證非零的正整數(shù):^\+?[1-9][0-9]*$
驗(yàn)證非零的負(fù)整數(shù):^\-[1-9][0-9]*$
驗(yàn)證非負(fù)整數(shù)(正整數(shù) + 0) ^\d+$
驗(yàn)證非正整數(shù)(負(fù)整數(shù) + 0) ^((-\d+)|(0+))$
驗(yàn)證長(zhǎng)度為3的字符:^.{3}$
驗(yàn)證由26個(gè)英文字母組成的字符串:^[A-Za-z]+$
驗(yàn)證由26個(gè)大寫(xiě)英文字母組成的字符串:^[A-Z]+$
驗(yàn)證由26個(gè)小寫(xiě)英文字母組成的字符串:^[a-z]+$
驗(yàn)證由數(shù)字和26個(gè)英文字母組成的字符串:^[A-Za-z0-9]+$
驗(yàn)證由數(shù)字、26個(gè)英文字母或者下劃線(xiàn)組成的字符串:^\w+$
驗(yàn)證用戶(hù)密碼:^[a-zA-Z]\w{5,17}$ 正確格式為:以字母開(kāi)頭,長(zhǎng)度在6-18之間,只能包含字符、數(shù)字和下劃線(xiàn)。
驗(yàn)證是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+
驗(yàn)證漢字:^[\u4e00-\u9fa5],{0,}$
驗(yàn)證Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
驗(yàn)證InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
驗(yàn)證電話(huà)號(hào)碼:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:--正確格式為:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
驗(yàn)證身份證號(hào)(15位或18位數(shù)字):^\d{15}|\d{}18$
驗(yàn)證一年的12個(gè)月:^(0?[1-9]|1[0-2])$ 正確格式為:“01”-“09”和“1”“12”
驗(yàn)證一個(gè)月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正確格式為:01、09和1、31。
整數(shù):^-?\d+$
非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0):^\d+(\.\d+)?$
正浮點(diǎn)數(shù) ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$
負(fù)浮點(diǎn)數(shù) ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮點(diǎn)數(shù) ^(-?\d+)(\.\d+)?
以上所述就是本文給大家總結(jié)的常用的正則表達(dá)式,希望對(duì)大家學(xué)習(xí)正則表達(dá)式能夠有所幫助。
相關(guān)文章
正則表達(dá)式對(duì)qq號(hào)碼校驗(yàn)
這篇文章主要介紹了正則表達(dá)式對(duì)qq號(hào)碼進(jìn)行校驗(yàn)的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧2017-06-06
vbs:一段比較精簡(jiǎn)的代碼實(shí)現(xiàn)取得字符串的"字節(jié)"數(shù)
vbs:一段比較精簡(jiǎn)的代碼實(shí)現(xiàn)取得字符串的"字節(jié)"數(shù)...2007-04-04
正則表達(dá)式中問(wèn)號(hào)(?)的正確用法詳解
本文主要介紹了正則表達(dá)式中問(wèn)號(hào)(?)的正確用法詳解,主要介紹了4種用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05

