首頁 >web前端 >js教程 >詳解JavaScript正規表示式和級聯效果

詳解JavaScript正規表示式和級聯效果

巴扎黑
巴扎黑原創
2017-09-16 09:49:591705瀏覽

正規表示式(regular expression)是一種字串匹配的模式,用來檢查一個字串中是否包含指定模式的字串。以下透過本文跟大家分享JavaScript_正規表示式和級聯效果,有興趣的朋友一起看看吧

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或falsetest()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[&#39;河北省&#39;] = [&#39;邯郸市&#39;,&#39;石家庄市&#39;];
 cityList[&#39;河南省&#39;] = [&#39;郑州市&#39;,&#39;洛阳市&#39;];
 cityList[&#39;湖北省&#39;] = [&#39;武汉市&#39;,&#39;宜昌市&#39;];
 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正規表示式和級聯效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn