亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > regex > 正文

javascript常用正則表達式合集第1/2頁

2020-01-20 22:18:08
字體:
來源:轉載
供稿:網友
校驗是否全由數字組成
復制代碼 代碼如下:

function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}

校驗登錄名:只能輸入5-20個以字母開頭、可帶數字、“_”、“.”的字串
Java代碼
復制代碼 代碼如下:

function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}

校驗用戶姓名:只能輸入1-30個以字母開頭的字串
Java代碼
復制代碼 代碼如下:

function isTrueName(s)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}

校驗密碼:只能輸入6-20個字母、數字、下劃線
復制代碼 代碼如下:

function isPasswd(s)
{
var patrn=/^(/w){6,20}$/;
if (!patrn.exec(s)) return false
return true
}

校驗普通電話、傳真號碼:可以“+”開頭,除數字外,可含有“-”
復制代碼 代碼如下:

function isTel(s)
{
var patrn=/^[+]{0,1}(/d){1,3}[ ]?([-]?(/d){1,12})+$/;
var patrn=/^[+]{0,1}(/d){1,3}[ ]?([-]?((/d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}

校驗手機號碼:必須以數字開頭,除數字外,可含有“-”
復制代碼 代碼如下:

function isMobil(s)
{
var patrn=/^[+]{0,1}(/d){1,3,5}[ ]?([-]?((/d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}

校驗郵政編碼
復制代碼 代碼如下:

function isPostalCode(s)
{
//var patrn=/^[a-zA-Z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(s)) return false
return true
}

校驗搜索關鍵字
復制代碼 代碼如下:

function isSearch(s)
{
var patrn=/^[^`~!@#$%^&*()+=|///][/]/{/}:;'/,.<>/?]{1}[^`~!@$%^&()+=|///]
[/]/{/}:;'/,.<>?]{0,19}$/;
if (!patrn.exec(s)) return false
return true
}

驗證ip
復制代碼 代碼如下:

function isIP(s) //by zergling
{
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}

正則表達式
"^//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
"^[A-Za-z0-9_]*$"
正則表達式使用詳解
簡介
簡單的說,正則表達式是一種可以用于模式匹配和替換的強有力的工具。其作用如下:
測試字符串的某個模式。例如,可以對一個輸入字符串進行測試,看在該字符串是否存在一個電話號碼模式或一個信用卡號碼模式。這稱為數據有效性驗證。
替換文本??梢栽谖臋n中使用一個正則表達式來標識特定文字,然后可以全部將其刪除,或者替換為別的文字。
根據模式匹配從字符串中提取一個子字符串??梢杂脕碓谖谋净蜉斎胱侄沃胁檎姨囟ㄎ淖?。
基本語法
在對正則表達式的功能和作用有了初步的了解之后,我們就來具體看一下正則表達式的語法格式。
正則表達式的形式一般如下:  
/love/  其中位于“/”定界符之間的部分就是將要在目標對象中進行匹配的模式。用戶只要把希望查找匹配對象的模式內容放入“/”定界符之間即可。為了能夠使用戶更加靈活的定制模式內容,正則表達式提供了專門的“元字符”。所謂元字符就是指那些在正則表達式中具有特殊意義的專用字符,可以用來規定其前導字符(即位于元字符前面的字符)在目標對象中的出現模式。
較為常用的元字符包括: “+”, “*”,以及 “?”。
“+”元字符規定其前導字符必須在目標對象中連續出現一次或多次。
“*”元字符規定其前導字符必須在目標對象中出現零次或連續多次。
“?”元字符規定其前導對象必須在目標對象中連續出現零次或一次。
下面,就讓我們來看一下正則表達式元字符的具體應用。
/fo+/  因為上述正則表達式中包含“+”元字符,表示可以與目標對象中的 “fool”, “fo”, 或者 “football”等在字母f后面連續出現一個或多個字母o的字符串相匹配。
/eg*/  因為上述正則表達式中包含“*”元字符,表示可以與目標對象中的 “easy”, “ego”, 或者 “egg”等在字母e后面連續出現零個或多個字母g的字符串相匹配。
/Wil?/  因為上述正則表達式中包含“?”元字符,表示可以與目標對象中的 “Win”, 或者“Wilson”,等在字母i后面連續出現零個或一個字母l的字符串相匹配。
有時候不知道要匹配多少字符。為了能適應這種不確定性,正則表達式支持限定符的概念。這些限定符可以指定正則表達式的一個給定組件必須要出現多少次才能滿足匹配。
{n} n 是一個非負整數。匹配確定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的兩個 o。
{n,} n 是一個非負整數。至少匹配 n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等價于 'o+'。'o{0,}' 則等價于 'o*'。
{n,m} m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 將匹配 "fooooood" 中的前三個 o。'o{0,1}' 等價于 'o?'。請注意在逗號和兩個數之間不能有空格。
除了元字符之外,用戶還可以精確指定模式在匹配對象中出現的頻率。例如,/jim {2,6}/ 上述正則表達式規定字符m可以在匹配對象中連續出現2-6次,因此,上述正則表達式可以同jimmy或jimmmmmy等字符串相匹配。
在對如何使用正則表達式有了初步了解之后,我們來看一下其它幾個重要的元字符的使用方式。
/s:用于匹配單個空格符,包括tab鍵和換行符;
/S:用于匹配除單個空格符之外的所有字符;
/d:用于匹配從0到9的數字;
/w:用于匹配字母,數字或下劃線字符;
/W:用于匹配所有與/w不匹配的字符;
:用于匹配除換行符之外的所有字符。(說明:我們可以把/s和/S以及/w和/W看作互為逆運算)
下面,我們就通過實例看一下如何在正則表達式中使用上述元字符。
//s+/ 上述正則表達式可以用于匹配目標對象中的一個或多個空格字符。
//d000/ 如果我們手中有一份復雜的財務報表,那么我們可以通過上述正則表達式輕而易舉的查找到所有總額達千元的款項。
除了我們以上所介紹的元字符之外,正則表達式中還具有另外一種較為獨特的專用字符,即定位符。定位符用于規定匹配模式在目標對象中的出現位置。 較為常用的定位符包括: “^”, “$”, “/b” 以及 “/B”。
“^”定位符規定匹配模式必須出現在目標字符串的開頭
“$”定位符規定匹配模式必須出現在目標對象的結尾
“/b”定位符規定匹配模式必須出現在目標字符串的開頭或結尾的兩個邊界之一
“/B”定位符則規定匹配對象必須位于目標字符串的開頭和結尾兩個邊界之內,即匹配對象既不能作為目標字符串的開頭,也不能作為目標字符串的結尾。
同樣,我們也可以把“^”和“$”以及“/b”和“/B”看作是互為逆運算的兩組定位符。舉例來說: /^hell/ 因為上述正則表達式中包含“^”定位符,所以可以與目標對象中以 “hell”, “hello”或“hellhound”開頭的字符串相匹配。 /ar$/ 因為上述正則表達式中包含“$”定位符,所以可以與目標對象中以 “car”, “bar”或 “ar” 結尾的字符串相匹配。 //bbom/ 因為上述正則表達式模式以“/b”定位符開頭,所以可以與目標對象中以 “bomb”, 或 “bom”開頭的字符串相匹配。/man/b/ 因為上述正則表達式模式以“/b”定位符結尾,所以可以與目標對象中以 “human”, “woman”或 “man”結尾的字符串相匹配。
為了能夠方便用戶更加靈活的設定匹配模式,正則表達式允許使用者在匹配模式中指定某一個范圍而不局限于具體的字符。例如:
/[A-Z]/  上述正則表達式將會與從A到Z范圍內任何一個大寫字母相匹配。
/[a-z]/  上述正則表達式將會與從a到z范圍內任何一個小寫字母相匹配。
/[0-9]/  上述正則表達式將會與從0到9范圍內任何一個數字相匹配。
/([a-z][A-Z][0-9])+/ 上述正則表達式將會與任何由字母和數字組成的字符串,如 “aB0” 等相匹配。
這里需要提醒用戶注意的一點就是可以在正則表達式中使用 “()” 把字符串組合在一起?!?)”符號包含的內容必須同時出現在目標對象中。因此,上述正則表達式將無法與諸如 “abc”等的字符串匹配,因為“abc”中的最后一個字符為字母而非數字。
如果我們希望在正則表達式中實現類似編程邏輯中的“或”運算,在多個不同的模式中任選一個進行匹配的話,可以使用管道符 “|”。例如:/to|too|2/ 上述正則表達式將會與目標對象中的 “to”, “too”, 或 “2” 相匹配。
正則表達式中還有一個較為常用的運算符,即否定符 “[^]”。與我們前文所介紹的定位符 “^” 不同,否定符 “[^]”規定目標對象中不能存在模式中所規定的字符串。例如:/[^A-C]/ 上述字符串將會與目標對象中除A,B,和C之外的任何字符相匹配。一般來說,當“^”出現在 “[]”內時就被視做否定運算符;而當“^”位于“[]”之外,或沒有“[]”時,則應當被視做定位符。
最后,當用戶需要在正則表達式的模式中加入元字符,并查找其匹配對象時,可以使用轉義符“/”。例如:/Th/*/  上述正則表達式將會與目標對象中的“Th*”而非“The”等相匹配。
在構造正則表達式之后,就可以象數學表達式一樣來求值,也就是說,可以從左至右并按照一個優先級順序來求值。優先級如下:
1./ 轉義符
2.(), (?:), (?=), [] 圓括號和方括號
3.*, +, ?, {n}, {n,}, {n,m} 限定符
4.^, $, /anymetacharacter 位置和順序
5.|“或”操作
使用實例
在JavaScript. 1.2中帶有一個功能強大的RegExp()對象,可以用來進行正則表達式的匹配操作。其中的test()方法可以檢驗目標對象中是否包含匹配模式,并相應的返回true或false。
我們可以使用JavaScript編寫以下腳本,驗證用戶輸入的郵件地址的有效性。
正則表達式對象本對象包含正則表達式模式以及表明如何應用模式的標志。
語法 1 re = /pattern/[flags]
語法 2 re = new RegExp("pattern",["flags"])
參數
re
必選項。將要賦值為正則表達式模式的變量名。
Pattern
必選項。要使用的正則表達式模式。如果使用語法 1,用 "/" 字符分隔模式。如果語法 2,用引號將模式引起來。
Flags
可選項。如果使用語法 2 要用引號將 flag 引起來。標志可以組合使用,可用的有:
g (全文查找出現的所有 pattern)
i (忽略大小寫)
m (多行查找)
示例
下面的示例創建一個包含正則表達式模式及相關標志的對象(re),向您演示正則表達式對象的用法。在本例中,作為結果的正則表達式對象又用于 match 方法中:
function MatchDemo()
{
var r, re; // 聲明變量。
var s = "The rain in Spain falls mainly in the plain";
re = new RegExp("ain","g"); // 創建正則表達式對象。
r = s.match(re); // 在字符串 s 中查找匹配。
return(r);
}
返回值: ain,ain,ain,ain//
屬性 lastIndex 屬性 | source 屬性//
方法 compile 方法 | exec 方法 | test 方法//
要求 版本 3//
請參閱 RegExp 對象 | 正則表達式語法 | String 對象//
exec 方法
用正則表達式模式在字符串中運行查找,并返回包含該查找結果的一個數組。
rgExp.exec(str)
參數
rgExp
必選項。包含正則表達式模式和可用標志的正則表達式對象。
str
必選項。要在其中執行查找的 String 對象或字符串文字。
說明//
如果 exec 方法沒有找到匹配,則它返回 null。如果它找到匹配,則 exec 方法返回一個數組,并且更新全局 RegExp 對象的屬性,以反映匹配結果。數組的0元素包含了完整的匹配,而第1到n元素中包含的是匹配中出現的任意一個子匹配。這相當于沒有設置全局標志 (g) 的 match 方法。
如果為正則表達式設置了全局標志,exec 從以 lastIndex 的值指示的位置開始查找。如果沒有設置全局標志,exec 忽略 lastIndex 的值,從字符串的起始位置開始搜索。
exec 方法返回的數組有三個屬性,分別是 input、index 和 lastIndex。Input 屬性包含了整個被查找的字符串。Index 屬性中包含了整個被查找字符串中被匹配的子字符串的位置。LastIndex 屬性中包含了匹配中最后一個字符的下一個位置。
示例
下面的例子舉例說明了 exec 方法的用法:
復制代碼 代碼如下:

function RegExpTest()
{
var ver = Number(ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion())
if (ver >= 5.5){ // 測試 JScript. 的版本。
var src = "The rain in Spain falls mainly in the plain.";
var re = //w+/g; // 創建正則表達式模式。
var arr;
while ((arr = re.exec(src)) != null)
document.write(arr.index + "-" + arr.lastIndex + arr + "/t");
}
else{
alert("請使用 JScript. 的更新版本");
}
}

返回值:0-3The 4-8rain 9-11in 12-17Spain 18-23falls 24-30mainly 31-33in 34-37the 38-43plain

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本免费一区二区三区视频观看| 日韩免费黄色av| 日韩欧美在线视频观看| 亚洲国产中文字幕久久网| 日韩视频免费大全中文字幕| 国产精品69久久久久| 日本一区二区三区在线播放| 亚洲成人精品av| 国产成人精品久久亚洲高清不卡| 91av视频在线| 欧美极品少妇xxxxx| 欧美精品在线极品| 国内精品久久久久影院优| 91精品久久久久久久久青青| 亚洲精品视频二区| 日韩有码在线视频| 欧美大片在线看| 日韩高清av一区二区三区| 日韩中文字幕国产精品| 国产日韩欧美在线观看| 欧美视频第一页| 日韩电影免费观看在线观看| 亚洲精品欧美日韩专区| 色噜噜狠狠色综合网图区| 91亚洲国产成人久久精品网站| 久热爱精品视频线路一| 亲子乱一区二区三区电影| 国产一区二区三区精品久久久| 日韩高清电影好看的电视剧电影| 97免费在线视频| 欧美黄色片视频| 欧美激情中文网| 欧美成人精品在线观看| 欧美一区二区三区精品电影| 岛国视频午夜一区免费在线观看| 国产成人欧美在线观看| 91社区国产高清| 日韩电影大全免费观看2023年上| 日韩免费视频在线观看| 日韩欧美国产骚| 欧美电影免费观看电视剧大全| 久久综合88中文色鬼| 亚洲娇小xxxx欧美娇小| 国产视频精品久久久| 久久人人爽人人爽人人片av高清| 日韩福利在线播放| 国产一区二区三区三区在线观看| 搡老女人一区二区三区视频tv| 国产精品网址在线| 国产精品都在这里| 亚洲在线www| 91久久久久久久久久久久久| 欧美在线精品免播放器视频| xxx一区二区| 国内揄拍国内精品少妇国语| 日韩精品福利在线| 国产精品天天狠天天看| 亚洲免费视频在线观看| 欧美与黑人午夜性猛交久久久| 久久成人精品视频| 亚洲欧美日韩图片| 美日韩丰满少妇在线观看| 国产一区二区三区免费视频| 91午夜理伦私人影院| 国产精品入口尤物| 欧美日韩精品在线播放| 久久免费少妇高潮久久精品99| 国外视频精品毛片| 欧美整片在线观看| 欧美专区福利在线| 国产欧美日韩精品在线观看| 国产99久久久欧美黑人| 国产中文字幕日韩| 97av在线视频免费播放| 国产精品亚发布| 高跟丝袜欧美一区| 国产视频久久久| 国产区精品视频| 97成人精品区在线播放| 91沈先生作品| 欧美在线免费观看| 日韩中文字幕精品| 精品福利在线观看| 91精品久久久久久久久久另类| 一区二区三区国产视频| 日韩欧美高清在线视频| 亚洲精品国产精品久久清纯直播| 国产裸体写真av一区二区| 国产成人在线播放| 国产精品一久久香蕉国产线看观看| 午夜精品久久久久久久男人的天堂| 亚洲一区二区福利| 国产精品精品一区二区三区午夜版| 97国产精品免费视频| 日韩中文字幕久久| 国产美女久久精品香蕉69| 91精品综合久久久久久五月天| 国产亚洲视频在线| 成人精品一区二区三区电影免费| 国产精品久久久久久亚洲影视| 青青久久av北条麻妃黑人| 国产主播喷水一区二区| 国产欧美精品xxxx另类| 久久噜噜噜精品国产亚洲综合| 色综合五月天导航| 精品露脸国产偷人在视频| 欧美最猛性xxxxx亚洲精品| 日韩在线观看高清| 国产国产精品人在线视| 亚洲天堂av网| 国产黑人绿帽在线第一区| 欧美成人中文字幕在线| 欧美日韩亚洲激情| 欧美电影在线观看网站| 国产99久久精品一区二区 夜夜躁日日躁| 国产精品视频最多的网站| 神马久久桃色视频| 久久久久久久97| 国产偷亚洲偷欧美偷精品| 国产精品影片在线观看| 精品久久久久久久久久久| 久久久亚洲国产| 欧美精品午夜视频| 亚洲va欧美va国产综合久久| 亚洲成av人影院在线观看| 亚洲欧美日韩在线一区| 久久综合免费视频影院| 亚洲免费精彩视频| 啪一啪鲁一鲁2019在线视频| 亚洲欧美在线播放| 538国产精品一区二区在线| 91麻豆国产语对白在线观看| 欧美成人精品一区二区三区| 欧美色视频日本高清在线观看| 国产精品网站视频| 国产精品视频久久久| 久久久国产精品免费| 777777777亚洲妇女| 国产成人精品免费视频| 国精产品一区一区三区有限在线| 欧美在线一级视频| 久久精品国产欧美激情| 亚洲精品久久久久| 久久人91精品久久久久久不卡| 欧美高清一级大片| 久久久国产一区二区| 日韩成人激情影院| 国产精品白嫩美女在线观看| 日本道色综合久久影院| 精品国内亚洲在观看18黄| 福利微拍一区二区| 欧美午夜影院在线视频| 精品国产一区二区三区四区在线观看| 欧美日韩福利在线观看| 国产精品中文字幕久久久| 精品色蜜蜜精品视频在线观看| 国内外成人免费激情在线视频| 日韩三级成人av网| 国产精品扒开腿做爽爽爽男男| 欧美日韩在线免费观看| 亚洲电影在线看| 欧美成人精品在线| 欧美性感美女h网站在线观看免费| 日韩久久免费视频|