javascript
十、JavaScript中的正则表达式(六)
@Author:Runsen
@Date:2020/5/26
作者介紹:Runsen目前大三下學期,專業化學工程與工藝,大學沉迷日語,Python, Java和一系列數據分析軟件。導致翹課嚴重,專業排名中下。.在大學60%的時間,都在CSDN。決定今天比昨天要更加努力。
今天,我要繼續補充JavaScript,就把JavaScript中的正則表達式滅了算了。在Python中,正則表達式就是re模塊。在JavaScript,怎么搞?
不會,先去菜鳥教程看看咯i
我先說明下,在JavaScript中不用導入什么東西。
文章目錄
- 基礎用法
- 構造函數創建正則表達式的對象
- 或關系
- 檢查一個字符串中是否包含 a或b
- 其他規則
- 舉例
- 檢查一個字符串是否是一個合法手機號
- 去掉字符串開頭和結尾的空格
- 常用正則表達式(熟記)
基礎用法
/正則表達式主體/修飾符(可選)比如/w3school/i是一個正則表達式。
w3school 是模式(pattern)(在搜索中使用)。
i是修飾符(把搜索修改為大小寫不敏感)。
有點抄W3C的,我還是改為/runsen/i
這樣,字符串就有search()方法了,search() 方法使用表達式來搜索匹配,然后返回匹配的位置。
var str = "Hello Runsen"; var n = str.search(/runsen/i );這也是最常見的用法,還有一個replace() 的方法。用正則表達式來匹配對應的字符串,你看下面的例子Runsen變成Maoli
var str = "Hello Runsen"; var n = str.replace(/runsen/i,"Maoli");構造函數創建正則表達式的對象
語法:
var 變量 = new RegExp("正則表達式"); // 注意,參數是字符串 var 變量 = new RegExp("正則表達式", "匹配模式"); // 注意,兩個參數都是字符串備注:RegExp的意思是 Regular expression。使用typeof檢查正則對象,會返回object。
上面的語法中,既可以傳一個參數,也可以傳兩個參數。
創建了正則表達式的對象后,該怎么使用呢?大致分為兩個步驟:
-
(1)創建正則表達式的對象 reg。
-
(2)使用 reg 的test() 方法,判斷指定字符串是否符合規則。
正則表達式的test()方法
myReg.test(str); // 判斷字符串 str 是否符合 指定的 myReg 這個正則表達式的規則解釋:使用test()這個方法可以用來檢查一個字符串是否符合正則表達式的規則,如果符合則返回true,否則返回false。
下面來看看下面的例子。
1、傳一個參數時:
構造函數 RegExp 中,可以只傳一個參數。
代碼舉例:
var reg = new RegExp("a"); // 定義一個正則表達式:檢查一個字符串中是否含有 avar str1 = "Maoli"; var str2 = "Runsen";// 通過 test()方法,判斷字符串是否符合 上面定義的 reg 規則 console.log(reg.test(str1)); // 打印結果:true console.log(reg.test(str2)); // 打印結果:false注意,上面的例子中,我們是先定義了一個正則表達式的規則,然后通過正則表達式的test()方法來判斷字符串是否符合之前定義的規則。
2、傳兩個參數時
我們可以傳遞一個匹配模式作為第二個參數。這個參數可以是:
-
i 忽略大小寫。這里的 i 指的是 ignore。
-
g 全局匹配模式。這里的 g 指的是 global。
代碼舉例:
var reg = new RegExp('A', 'i'); var str = 'Maoli';console.log(reg.test(str)); // 打印結果:true或關系
檢查一個字符串中是否包含 a或b
寫法1:
var reg = /a|b/;解釋:使用 | 表示或的意思。
寫法2:
var reg = /[ab]/; // 跟上面的那行語法,是等價的解釋:這里的[]也是表示或的意思。
[]這個符號在正則還是比較常用的。
[]表示:或
其他規則
一些其他規則:
-
/[ab]/ 等價于 /a|b/:檢查一個字符串中是否包含 a或b
-
/[a-z]/:檢查一個字符串那種是否包含任意小寫字母
-
/[A-Z]/:任意大寫字母
-
/[A-z]/:任意字母
-
/[0-9]/:任意數字
-
/a[bde]c/:檢查一個字符串中是否包含 abc 或 adc 或 aec
舉例
檢查一個字符串是否是一個合法手機號
手機號的規則:
-
以1開頭
-
第二位是3~9之間任意數字
-
三位以后任意9位數字
正則實現:
var phoneStr = "13067890123";? var phoneReg = /^1[3-9][0-9]{9}$/;? console.log(phoneReg.test(phoneStr));去掉字符串開頭和結尾的空格
str = str.replace(/^\s*|\s*$/g,"");常用正則表達式(熟記)
| 密碼 | /^[a-zA-Z0-9_\-\@\#\&\*]{6,12}$/ |
| 前后空格 | /^\s+|\s+$/g |
| 電子郵箱 | /^[a-zA-Z0-9_\.-]+@([a-zA-Z0-9-]+[\.]{1})+[a-zA-Z]+$/ |
| 手機號 | /^1[3-9][0-9]{9}$/ |
更多的看菜鳥教程正則表達式
總結
以上是生活随笔為你收集整理的十、JavaScript中的正则表达式(六)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 九、玩转JavaScript的数组(五)
- 下一篇: 宜家创生物业的优势在于什么地方呢?