JavaScript正則表達(dá)式和級(jí)聯(lián)效果
1、正則表達(dá)式(regular expression)
是一種字符串匹配的模式,用來檢查一個(gè)字符串中是否包含指定模式的字符串。
2、正則表達(dá)式的創(chuàng)建
var reg = /white/; var reg = new RegExp("white","g");
3、正則表達(dá)式的修飾符
g 執(zhí)行全局匹配(查找所有匹配而非在找到第一個(gè)匹配后停止)。
i 不區(qū)分大小寫
m 多行匹配
4、正則表達(dá)式符號(hào)
方括號(hào):方括號(hào)用于查找某個(gè)范圍內(nèi)的字符:
[abc] 查找方括號(hào)之間的任何字符。
[^abc] 查找任何不在方括號(hào)之間的字符。
[0-9] 查找任何從 0 至 9 的數(shù)字。
[a-z] 查找任何從小寫 a 到小寫 z 的字符。
[A-Z] 查找任何從大寫 A 到大寫 Z 的字符。
[A-z] 查找任何從大寫 A 到小寫 z 的字符。
[adgk] 查找給定集合內(nèi)的任何字符。
[^adgk] 查找給定集合外的任何字符。
(red|blue|green) 查找任何指定的選項(xiàng)。
元字符:元字符(Metacharacter)是擁有特殊含義的字符:
/…/ 代表一個(gè)模式的開始和結(jié)束
^ 匹配字符串的開始
$ 匹配字符串的結(jié)束
\s 任何空白字符
\S 任何非空白字符
\d 匹配一個(gè)數(shù)字字符,等價(jià)于[0-9]
\D 除了數(shù)字之外的任何字符,等價(jià)于[^0-9]
\w 匹配一個(gè)數(shù)字、下劃線或字母字符,等價(jià)于[A-Za-z0-9_]
\W 任何非單字字符,等價(jià)于[^a-zA-z0-9_]
. 除了換行符之外的任意字符
正則表達(dá)式重復(fù)字符(量詞)
{n} 匹配前一項(xiàng)n次
{n,} 匹配前一項(xiàng)n次,或者多次
{n,m} 匹配前一項(xiàng)至少n次,但是不能超過m次
* 匹配前一項(xiàng)0次或多次,等價(jià)于{0,}
+ 匹配前一項(xiàng)1次或多次,等價(jià)于{1,}
? 匹配前一項(xiàng)0次或1次,也就是說前一項(xiàng)是可選的,等價(jià)于{0,1}
5、RegExp對(duì)象的屬性
global RegExp對(duì)象是否具有標(biāo)志g,它聲明了給定的正則表達(dá)式是否執(zhí)行全局匹配。
ignoreCase RegExp對(duì)象是否具有標(biāo)志i,它聲明了給定的正則表達(dá)式是否執(zhí)行對(duì)大小寫不敏感的匹配。
multiline RegExp對(duì)象是否具有標(biāo)志m,它聲明了給定的正則表達(dá)式是否執(zhí)行多行匹配。
6、RegExp對(duì)象的方法
1、exec 檢索字符中是正則表達(dá)式的區(qū)配,返回找到的值,并確定其位置
exec()
exec() 方法檢索字符串中的指定值。返回值是被找到的值。如果沒有發(fā)現(xiàn)匹配,則返回 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、分析(郵箱驗(yàn)證) var reg=/^\w+@\w+.[a-zA-Z]{2,3}(.[a-zA-Z]{2,3})?$/;
//正則表達(dá)式創(chuàng)建
^ 字符串開始
$字符串結(jié)束
\w任意字符字母和數(shù)字,下劃線
+ 表示前一個(gè)字符出現(xiàn){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}$/
手機(jī)號(hào)碼:/^1\d{10}$/
8、String對(duì)象的方法
match 找到一個(gè)或多個(gè)正則表達(dá)式的匹配
search 檢索與正則表達(dá)式相匹配的值
replace 替換與正則表達(dá)式匹配的字符串
split 把字符串分割為字符串?dāng)?shù)組
9、select對(duì)象常用事件、方法和屬性.
1、事件 onchange 當(dāng)改變選項(xiàng)時(shí)調(diào)用的事件
2、方法 add() 向下拉列表中添加一個(gè)選項(xiàng)
示例:
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[] 返回包含下拉列表中的所有選項(xiàng)的一個(gè)數(shù)組
selectedIndex 設(shè)置或返回下拉列表中被選項(xiàng)目的索引號(hào)
length 返回下拉列表中的選項(xiàng)的數(shù)目
示例:
function get(){ var index=document.getElementById("fruit").selectedIndex; var len=document.getElementById("fruit").length; var show=document.getElementById("show"); show.innerHTML="被選選項(xiàng)的索引號(hào)為:"+index+"<br/>下拉列表選項(xiàng)數(shù)目為:"+len; }
4、Option對(duì)象常用屬性:
text:設(shè)置或返回某個(gè)選項(xiàng)的純文本值
value:設(shè)置或返回被送往服務(wù)器的值
10、數(shù)組常用的屬性和方法。
屬性 length 設(shè)置或返回?cái)?shù)組中元素的數(shù)目
方法:
join( ) 把數(shù)組的所有元素放入一個(gè)字符串,通過一個(gè)的分隔符進(jìn)行分隔
sort( ) 對(duì)數(shù)組的元素進(jìn)行排序
****讀取二維數(shù)組中的元素值:
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/>“; }
總結(jié)
以上所述是小編給大家介紹的JavaScript_正則表達(dá)式和級(jí)聯(lián)效果,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- JS 密碼強(qiáng)度校驗(yàn)的正則表達(dá)式(簡(jiǎn)單且好用)
- JavaScript正則表達(dá)式替換字符串中圖片地址(img src)的方法
- js正則表達(dá)式最長(zhǎng)匹配(貪婪匹配)和最短匹配(懶惰匹配)用法分析
- js正則表達(dá)式實(shí)現(xiàn)數(shù)字每隔四位用空格分隔代碼
- JS經(jīng)典正則表達(dá)式筆試題匯總
- JavaScript正則表達(dá)式校驗(yàn)非零的正整數(shù)實(shí)例
- 利用js正則表達(dá)式校驗(yàn)正數(shù)、負(fù)數(shù)、和小數(shù)
- JS判斷輸入的字符串是否是數(shù)字的方法(正則表達(dá)式)
- js實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)效果(簡(jiǎn)單易懂)
- Vue.js 2.0中select級(jí)聯(lián)下拉框?qū)嵗?/a>
相關(guān)文章
JavaScript實(shí)現(xiàn)簡(jiǎn)單計(jì)時(shí)器
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡(jiǎn)單計(jì)時(shí)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06JavaScript利用Canvas實(shí)現(xiàn)粒子動(dòng)畫倒計(jì)時(shí)
粒子動(dòng)畫就是頁面上通過發(fā)射許多微小粒子來表示不規(guī)則模糊物體。本文將利用canvas實(shí)現(xiàn)酷炫的粒子動(dòng)畫倒計(jì)時(shí),感興趣的小伙伴可以嘗試一下2022-12-12利用JavaScript中的高階函數(shù)和閉包實(shí)現(xiàn)命令模式
命令模式提供了一種優(yōu)雅的解決方案,使得我們能夠靈活地封裝和管理代碼操作,所以本文將為大家介紹命令模式的概念、應(yīng)用場(chǎng)景以及在JavaScript中的實(shí)現(xiàn)方式,需要的可以參考一下2023-06-06微信小程序?qū)崿F(xiàn)上傳多個(gè)文件 超過10個(gè)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)上傳多個(gè)文件,超過10個(gè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02在JS中如何把毫秒轉(zhuǎn)換成規(guī)定的日期時(shí)間格式實(shí)例
本篇文章主要介紹了在JS中如何把毫秒轉(zhuǎn)換成規(guī)定的日期時(shí)間格式實(shí)例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-05-05BootStrap模態(tài)框和select2合用時(shí)input無法獲取焦點(diǎn)的解決方法
在bootstrap的模態(tài)框里使用select2插件,會(huì)導(dǎo)致select2里的input輸入框沒有辦法獲得焦點(diǎn),沒有辦法輸入。怎么解決這個(gè)問題呢?下面小編給大家?guī)砹薆ootStrap模態(tài)框和select2合用時(shí)input無法獲取焦點(diǎn)的解決方法,一起看看吧2017-09-09