摘要:由于某些字符類非常常用,的正則表達式中,使用特殊轉義字符表示他們。多行搜索代碼示例對象創建對象可以通過引用類型創建正則表達式對象參數參數被稱為模式,可以使任何簡單或復雜的正則表達式,包含字符類限定符分組向前查找以及反向引用等。
概述 正則表達式是什么
正則表達式(RegularExpression):由一些普通字符和特殊字符組成的,用以描述一種特定的字符規則的表達式。
正則表達式常用在一段文本中搜索、匹配或替換特定形式的文本。比如:詞語出現頻率統計、驗證字符串是否符合郵箱格式、屏蔽一篇帖子中的限制性詞語等。
/* 1.字面量/直接量方式 var 變量名 = /pattern/attributes * pattern - 稱為模式,用于定義正則表達式的內容 * attributes - 稱為修飾符,用于定義正則表達式的行為 */ var reg = /123456789/i; /* 2.構造函數方式 var 變量名 = new RegExp(pattern [, attributes]) * pattern - 稱為模式,用于定義正則表達式的內容 * attributes - 稱為修飾符,用于定義正則表達式的行為 */ var reg = new RegExp("123456789", "i");
pattern參數:被稱為模式,可以使任何簡單或復雜的正則表達式,包含字符類、限定符、分組、向前查找以及反向引用等。
attributes參數:被稱為修飾符,用于表明正則表達式的行為。
正則表達式中的所有字母和數字都是按照字面含義進行匹配的。JavaScript正則表達式語法也支持非字母的字符匹配,這些字符需要通過反斜線作為前綴進行轉義。
字符類將直接量字符多帶帶放進方括號內就組成了字符類。一個字符可以匹配它所包含的任意字符。由于某些字符類非常常用,JavaScript的正則表達式中,使用特殊轉義字符表示他們。
var str = "king"; // 正則表達式的內容中定義規則 -> 驗證的內容是否包含規則 // var reg = /123456789/; // 正則表達式的內容中定義規則 -> 驗證的內容匹配任何字符即可 var reg = /[0123456789]/; var reg = /[d]/; var reg = /[0-9]/; var reg = /[a-zA-Z]/; var result = reg.test(str); console.log(result);重復
在JavaScript中的正則表達式用來描述任意多位的數字,或者描述由三個字母和一個數字構成的字符串時,可以使用字符重復耳釘標記。
var str = "wolong124xue3yuan"; /* {n, m} - 表示字符類中任意字符出現的次數 * n - 表示至少出現n次(包含n次) * m - 表示至多出現m次(包含m次) * 注意 - 出現的次數必須是連續的 */ var reg = /[0-9]{3,5}/; var result = reg.test(str); console.log(result);匹配指定的位置
正則表達式中的多個元素才能夠匹配字符串的一個字符,這些元素稱之為正則表達式的錨。因為它們將模式定位在搜索字符串的特定位置上。
常用兩中‘^’和‘$’一個表示從匹配輸入的開始,另一個表示 從匹配輸入的結束。
var str = "12a45"; // 表示以什么開始的 // var reg = /^[0-9]{3,5}/; // 表示以什么結束的 // var reg = /[0-9]{3,5}$/; // 表示匹配內容的長度只能為至少n次,至多m次,而且內容必須與字符類匹配 var reg = /^[0-9]{3,5}$/; var result = reg.test(str); console.log(result); // 長度為6-16位的數字或字母 /^[0-9a-zA-Z]{6,16}$/修飾符
正則表達式的修飾符,用于說明高級匹配模式的規則。修飾符是放在“/”符號后面的,JavaScript支持三個修飾符
1.i:不區分大小寫搜索。
2.g:全局搜索。
3.m:多行搜索.
代碼示例:
var str = "wolongxueyuan"; var reg = /^[A-Z]{8,16}$/i; var result = reg.test(str); console.log(result);對象 創建RegExp對象
JavaScript可以通過引用類型RegExp創建正則表達式對象
參數:
1.pattern參數:被稱為模式,可以使任何簡單或復雜的正則表達式,包含字符類、限定符、分組、向前查找以及反向引用等。
2.attributes參數:被稱為修飾符,用于表明正則表達式的行為。
代碼示例
var arr = new RegExp(pattern,attributes);RegExp對象的屬性 RegExp對象的方法
RegExp獨享的方法有三種:
1.compile():編譯/重新編寫正則表達式,將pattern轉換為每部格式,加快執行速度。
2.exec():檢索字符串中指定的值。返回找到的值,并確定其位置;影響lastlndex屬性的值。
3.test():檢索字符串中指定的值。返回true或false;影響lastlndex屬性的值。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/108425.html
摘要:面向對象編程對象的原生方法分成兩類自身的方法靜態方法和的實例方法。的靜態方法方法與,參數是對象,返回一個數組,數組的值是改對象自身的所有屬性名區別在于返回可枚舉的屬性,返回不可枚舉的屬性值。 面向對象編程 Objects對象的原生方法分成兩類:Object自身的方法(靜態方法)和Object的實例方法。注意Object是JavaScript的原生對象,所有的其他對象都是繼承自Objec...
摘要:每個構造函數定義了一類對象,表示由構造函數初始化對象的集合。嚴格模式下,明確禁止八進制數。日期和時間構造函數用來創建表示日期和時間的對象,包含方法。模式匹配函數是一個構造函數,創建正則表達式。布爾值表示兩種狀態,使用保留字和。 《Javascript權威指南》就是前端工程師口中常說的犀牛書,得名是因為中文翻譯出版的書籍封面是一只犀牛,是學習JavaScript的必讀書籍。 JavaSc...
摘要:本文是我在復制對象方面的一些心得總結,由淺復制到深復制,由只復制簡單屬性到復制,等復雜屬性,層層遞進。如有陳述不當之處,煩請指出,不勝感激。下面是一個簡單的淺復制實現。 前言 從層次上來看,對象的復制可以簡單地分為淺復制和深復制,顧名思義,淺復制是指只復制一層對象的屬性,不會復制對象中的對象的屬性,對象的深復制會復制對象中層層嵌套的對象的屬性。在復制對象時,除了要復制對象的屬性外,還要...
摘要:作用域鏈的作用就是做標示符解析。事件循環還有個明顯的特點單線程。早期都是用作開發,單線程可以比較好當規避同步問題,降低了開發門檻。單線程需要解決的是效率問題,里的解決思想是異步非阻塞。 0、前言 本人在大學時非常癡迷java,認為java就是世界上最好的語言,偶爾在項目中會用到一些javascript,但基本沒放在眼里。較全面的接觸javascript是在實習的時候,通過這次的了解發現...
摘要:對象在中,除了數字字符串布爾值這幾個簡單類型外,其他的都是對象。那么在函數對象中,這兩個屬性的有什么區別呢表示該函數對象的原型表示使用來執行該函數時這種函數一般成為構造函數,后面會講解,新創建的對象的原型。這時的函數通常稱為構造函數。。 本文原發于我的個人博客,經多次修改后發到sf上。本文仍在不斷修改中,最新版請訪問個人博客。 最近工作一直在用nodejs做開發,有了nodejs,...
閱讀 2571·2021-11-24 09:38
閱讀 2601·2019-08-30 15:54
閱讀 915·2019-08-30 15:52
閱讀 1909·2019-08-30 15:44
閱讀 2712·2019-08-30 13:48
閱讀 768·2019-08-29 16:21
閱讀 996·2019-08-29 14:03
閱讀 2212·2019-08-28 18:15