軟體測試學習教程—Web測試之正規表示式
正規表示式出現情況
假設使用者需要在HTML 表單中填寫姓名、地址、出生日期等。那麼在將表單提交到伺服器進一步處理前, JavaScript 程式會檢查表單以確認使用者確實輸入了資訊並且這些資訊是符合要求的。
一.什麼是正規表示式
正規表示式(regularexpression) 是一個描述字元模式的物件。 ECMAScript 的 RegExp 類表示正規表示式,而 String 和 RegExp 都定義了使用正規表示式進行強大的模式匹配和文字檢索與替換的函式。
正規表示式主要用來驗證客戶端的輸入資料。使用者填寫完表單單擊按鈕之後,表單就會被髮送到伺服器,在伺服器端通常會用PHP 、 ASP.NET 等伺服器指令碼對其進行進一步處理。因為客戶端驗證,可以節約大量的伺服器端的系統資源,並且提供更好的使用者體驗。
正規表示式
一個正規表示式是由普通字元( 如 a~z) 以及特殊字元 ( 稱為元字元 ) 組成的模式字串。
該模式字串描述在查詢文字主體時待匹配的一個或多個字串。正規表示式作為一個模板,將某個字元模式與所搜尋的字串進行匹配。
1 、字元類
2 、量詞
3 、指定匹配位置
4 、使用選擇匹配符
正規表示式的選擇匹配符只有一個"|" ,使用 "|" 可以匹配指定的多個選項中的任意一項。
例如/World|Dream/ 可以匹配 "One World One Dream" 中的 World 或者 Dream
5 、分組
分組就是使用小括號將多個單獨的字元或字元類組合成子表示式,以便可以像處理一個獨立的單元那樣,用"|" 、 "*" 、 "+" 或者 "?" 等來處理他們。比如 /J(ava)?Script/ 可以匹配 JavaScript ,也可以匹配 JScript
正規表示式的建立
1 、透過 RegExp 類的構造方法建立
\d{3}
語法格式:new RegExp(pattern[,flags])
pattern: 必選引數,用於指定需要進行匹配的模式字串。
flags: 可選引數,用於指定正規表示式的標誌資訊。
g: 全域性標誌。如果設定了該標誌,對於某個文字執行搜尋或者替換時,將對文字中的所有匹配部分起作用,否則僅搜尋或替換第一次匹配的內容。
i: 忽略大小寫標誌。
m: 多行標誌。如果不設定這個標誌,那麼 ^ 只能匹配字串的開頭, $ 只能匹配字串的結尾;如果設定了這個標誌,那麼 ^ 可以匹配多行字串的每一行的開頭, $ 可以匹配多行字串的每一行的結尾。
var objExp=new RegExp("\\d",g);
正規表示式的建立
2 、透過正規表示式字面量建立 RegExp 物件
正規表示式字面量由兩條斜線// 中間加入模式匹配字串組成。如果還要指定標誌資訊,則在最後的斜線 / 後面加上標誌資訊,比如 g 或者 i.
var objExp=/\d/g;
正規表示式的使用
3 、使用 test() 方法進行模式匹配
test() 方法用於對一個指定的字串執行模式匹配,如果搜尋到匹配的字元,返回 true ,否則返回 false
var objExp=/\d/g;
objExp.test("abc");
正規表示式的使用
4 、使用 exec() 方法進行模式匹配
exec() 方法返回值不是 true 或者 false ,而是當沒有搜尋到匹配的字元時,返回 null,
否則返回一個陣列,這個陣列的第一個元素包含與正規表示式相匹配的字串,其他元素包含的是匹配的各個分組(用括號括起來的子表示式)
語法格式:
regExp.exec(str)
身份證案例
function f(){
varzhi=ff.t01.value;
varv=/(\d{6})(\d{8})(\d{4})/;
varb=v.exec(zhi);
if(b!=null){
alert("aaa"+b[2]);
}else{
alert(" 不能為空 ");
}
}
校驗郵件地址是否合法
functionIsEmail(str){
varreg=/^\w+ [a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;
return reg.test(str);
}
if(!IsEmail(document.getElementById("email").value)){
alert(" 郵箱地址錯誤 ");
document.getElementById("email").focus();
returnfalse;
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69914734/viewspace-2655440/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 軟體測試學習教程——WEB測試之JS記憶體WebJS記憶體
- 軟體測試學習教程—軟體測試質量
- 軟體測試之30分鐘輕鬆搞定正規表示式基礎
- 軟體測試學習教程—迴歸測試
- 軟體測試學習教程—軟體測試基本知識
- 軟體測試學習教程——LoadRunner實現介面測試
- 軟體測試學習教程—軟體測試基礎理論五
- 軟體測試學習教程—軟體測試基礎理論六
- 軟體測試學習教程—軟體測試基礎理論四
- 軟體測試學習教程—軟體測試基礎理論三
- 軟體測試學習教程——JDBC配置JDBC
- 軟體測試學習教程—— 簡談list相關的生成器表示式
- 軟體測試學習 ——五種軟體測試模型模型
- 軟體測試培訓教程:軟體測試面試之怎麼測試刷抖音?面試
- 軟體測試學習教程——JDBC開發JDBC
- 軟體測試學習教程——JDBC介紹JDBC
- 軟體測試學習教程—JavaScript內建物件JavaScript物件
- 學習旅途(軟體測試)
- 軟體測試整理學習
- 軟體測試教程之手機軟體測試方法
- 軟體測試學習網站有哪些?怎麼學軟體測試呢?學習網站
- 軟體測試培訓分享:學習能力差可以學習軟體測試嗎
- 軟體測試學習——移動端功能測試分析
- 軟體測試學習教程—Jmeter元件介紹(二)JMeter元件
- 軟體測試學習教程——【大蟒蛇】python基礎Python
- 軟體測試規範
- 軟體測試學習路線
- 【軟體測試】學習筆記筆記
- 【分享】—如何學習軟體測試
- 軟體測試之Web測試如何進行?廣東好口碑軟體測評公司推薦Web
- 軟體測試學習教程——HP Loadrunner12.50安裝教程
- 軟體測試之測試分類_1.4
- 軟體測試之易用性測試
- 軟體測試要學什麼(1)黑盒測試詳解教程
- 2020版軟體測試全新4.0教程震撼來襲,不一樣的軟體測試學習路
- 軟體測試之Web測試知識分享,權威的軟體測評機構如何收費?Web
- 軟體測試學習教程——Python實現反射機制Python反射
- 軟體測試學習教程——Python SMTP傳送郵件Python