日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

十、JavaScript中的正则表达式(六)

發布時間:2024/10/8 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 十、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-Z_][a-zA-Z_\-0-9]{6,10}$/
密碼/^[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中的正则表达式(六)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。