您好,登錄后才能下訂單哦!
1、正則表達式(regular expression)
是一種字符串匹配的模式,用來檢查一個字符串中是否包含指定模式的字符串。
2、正則表達式的創建
var reg = /white/; var reg = new RegExp("white","g");
3、正則表達式的修飾符
g 執行全局匹配(查找所有匹配而非在找到第一個匹配后停止)。
i 不區分大小寫
m 多行匹配
4、正則表達式符號
方括號:方括號用于查找某個范圍內的字符:
[abc] 查找方括號之間的任何字符。
[^abc] 查找任何不在方括號之間的字符。
[0-9] 查找任何從 0 至 9 的數字。
[a-z] 查找任何從小寫 a 到小寫 z 的字符。
[A-Z] 查找任何從大寫 A 到大寫 Z 的字符。
[A-z] 查找任何從大寫 A 到小寫 z 的字符。
[adgk] 查找給定集合內的任何字符。
[^adgk] 查找給定集合外的任何字符。
(red|blue|green) 查找任何指定的選項。
元字符:元字符(Metacharacter)是擁有特殊含義的字符:
/…/ 代表一個模式的開始和結束
^ 匹配字符串的開始
$ 匹配字符串的結束
\s 任何空白字符
\S 任何非空白字符
\d 匹配一個數字字符,等價于[0-9]
\D 除了數字之外的任何字符,等價于[^0-9]
\w 匹配一個數字、下劃線或字母字符,等價于[A-Za-z0-9_]
\W 任何非單字字符,等價于[^a-zA-z0-9_]
. 除了換行符之外的任意字符
正則表達式重復字符(量詞)
{n} 匹配前一項n次
{n,} 匹配前一項n次,或者多次
{n,m} 匹配前一項至少n次,但是不能超過m次
* 匹配前一項0次或多次,等價于{0,}
+ 匹配前一項1次或多次,等價于{1,}
? 匹配前一項0次或1次,也就是說前一項是可選的,等價于{0,1}
5、RegExp對象的屬性
global RegExp對象是否具有標志g,它聲明了給定的正則表達式是否執行全局匹配。
ignoreCase RegExp對象是否具有標志i,它聲明了給定的正則表達式是否執行對大小寫不敏感的匹配。
multiline RegExp對象是否具有標志m,它聲明了給定的正則表達式是否執行多行匹配。
6、RegExp對象的方法
1、exec 檢索字符中是正則表達式的區配,返回找到的值,并確定其位置
exec()
exec() 方法檢索字符串中的指定值。返回值是被找到的值。如果沒有發現匹配,則返回 null。
例子 1:
var patt1=new RegExp("e"); document.write(patt1.exec("The best things in life are free")); 由于該字符串中存在字母 "e",以上代碼的輸出將是: e
2、test 檢索字符串中指定的值,返回true或false
test()
test() 方法檢索字符串中的指定值。返回值是 true 或 false。
例子:
var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free")); 由于該字符串中存在字母 "e",以上代碼的輸出將是: True
7、分析(郵箱驗證) var reg=/^\w+@\w+.[a-zA-Z]{2,3}(.[a-zA-Z]{2,3})?$/;
//正則表達式創建
^ 字符串開始
$字符串結束
\w任意字符字母和數字,下劃線
+ 表示前一個字符出現{1,},一次或多次。
@ 普通字符串
\w 任意字符串 ddd@123
. 除了換行符之外的任意字符 ddd@123.
[a-zA-Z] ddd@123.c ddd@123.n
{2,3} ddd@123.com ddd@123.net ddd@123.tv
(.[a-zA-Z]{2,3})? ddd@123.com.cn ddd@123.net
常用正則:
用戶名正則:/^[a-zA-Z][a-zA-Z0-9]{3,15}$/
密碼正則:/^[a-zA-Z0-9]{4,10}$/
生日正則:/^((19\d{2})|(200\d))-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/
Email正則:/^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/
郵政編碼:/^\d{6}$/
手機號碼:/^1\d{10}$/
8、String對象的方法
match 找到一個或多個正則表達式的匹配
search 檢索與正則表達式相匹配的值
replace 替換與正則表達式匹配的字符串
split 把字符串分割為字符串數組
9、select對象常用事件、方法和屬性.
1、事件 onchange 當改變選項時調用的事件
2、方法 add() 向下拉列表中添加一個選項
示例:
var province=document.getElementById("selProvince").value; var city=document.getElementById("selCity"); city.options.length=0; switch(province){ case "河南省": city.add(new Option("鄭州市","鄭州市"),null); city.add(new Option("洛陽市","洛陽市"),null); break; …… }
3、屬性:
options[] 返回包含下拉列表中的所有選項的一個數組
selectedIndex 設置或返回下拉列表中被選項目的索引號
length 返回下拉列表中的選項的數目
示例:
function get(){ var index=document.getElementById("fruit").selectedIndex; var len=document.getElementById("fruit").length; var show=document.getElementById("show"); show.innerHTML="被選選項的索引號為:"+index+"<br/>下拉列表選項數目為:"+len; }
4、Option對象常用屬性:
text:設置或返回某個選項的純文本值
value:設置或返回被送往服務器的值
10、數組常用的屬性和方法。
屬性 length 設置或返回數組中元素的數目
方法:
join( ) 把數組的所有元素放入一個字符串,通過一個的分隔符進行分隔
sort( ) 對數組的元素進行排序
****讀取二維數組中的元素值:
var cityList = new Array(); cityList['河北省'] = ['邯鄲市','石家莊市']; cityList['河南省'] = ['鄭州市','洛陽市']; cityList['湖北省'] = ['武漢市','宜昌市']; for(var i in cityList){ document.getElementById("show").innerHTML+=i+"<br/>"; } for(var j in cityList){ for(var k in cityList[j]){ document.getElementById("show").innerHTML+=cityList[j][k]+" ”; } document.getElementById("show").innerHTML+="<br/>“; }
總結
以上所述是小編給大家介紹的JavaScript_正則表達式和級聯效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。