日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

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

發(fā)布時(shí)間:2024/10/8 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 十、JavaScript中的正则表达式(六) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

@Author:Runsen
@Date:2020/5/26

作者介紹:Runsen目前大三下學(xué)期,專業(yè)化學(xué)工程與工藝,大學(xué)沉迷日語,Python, Java和一系列數(shù)據(jù)分析軟件。導(dǎo)致翹課嚴(yán)重,專業(yè)排名中下。.在大學(xué)60%的時(shí)間,都在CSDN。決定今天比昨天要更加努力。

今天,我要繼續(xù)補(bǔ)充JavaScript,就把JavaScript中的正則表達(dá)式滅了算了。在Python中,正則表達(dá)式就是re模塊。在JavaScript,怎么搞?

不會(huì),先去菜鳥教程看看咯i

我先說明下,在JavaScript中不用導(dǎo)入什么東西。

文章目錄

  • 基礎(chǔ)用法
  • 構(gòu)造函數(shù)創(chuàng)建正則表達(dá)式的對(duì)象
  • 或關(guān)系
    • 檢查一個(gè)字符串中是否包含 a或b
  • 其他規(guī)則
  • 舉例
    • 檢查一個(gè)字符串是否是一個(gè)合法手機(jī)號(hào)
    • 去掉字符串開頭和結(jié)尾的空格
  • 常用正則表達(dá)式(熟記)

基礎(chǔ)用法

/正則表達(dá)式主體/修飾符(可選)

比如/w3school/i是一個(gè)正則表達(dá)式。

w3school 是模式(pattern)(在搜索中使用)。

i是修飾符(把搜索修改為大小寫不敏感)。

有點(diǎn)抄W3C的,我還是改為/runsen/i

這樣,字符串就有search()方法了,search() 方法使用表達(dá)式來搜索匹配,然后返回匹配的位置。

var str = "Hello Runsen"; var n = str.search(/runsen/i );

這也是最常見的用法,還有一個(gè)replace() 的方法。用正則表達(dá)式來匹配對(duì)應(yīng)的字符串,你看下面的例子Runsen變成Maoli

var str = "Hello Runsen"; var n = str.replace(/runsen/i,"Maoli");

構(gòu)造函數(shù)創(chuàng)建正則表達(dá)式的對(duì)象

語法:

var 變量 = new RegExp("正則表達(dá)式"); // 注意,參數(shù)是字符串 var 變量 = new RegExp("正則表達(dá)式", "匹配模式"); // 注意,兩個(gè)參數(shù)都是字符串

備注:RegExp的意思是 Regular expression。使用typeof檢查正則對(duì)象,會(huì)返回object。

上面的語法中,既可以傳一個(gè)參數(shù),也可以傳兩個(gè)參數(shù)。

創(chuàng)建了正則表達(dá)式的對(duì)象后,該怎么使用呢?大致分為兩個(gè)步驟:

  • (1)創(chuàng)建正則表達(dá)式的對(duì)象 reg。

  • (2)使用 reg 的test() 方法,判斷指定字符串是否符合規(guī)則。

正則表達(dá)式的test()方法

myReg.test(str); // 判斷字符串 str 是否符合 指定的 myReg 這個(gè)正則表達(dá)式的規(guī)則

解釋:使用test()這個(gè)方法可以用來檢查一個(gè)字符串是否符合正則表達(dá)式的規(guī)則,如果符合則返回true,否則返回false

下面來看看下面的例子。

1、傳一個(gè)參數(shù)時(shí)

構(gòu)造函數(shù) RegExp 中,可以只傳一個(gè)參數(shù)。

代碼舉例:

var reg = new RegExp("a"); // 定義一個(gè)正則表達(dá)式:檢查一個(gè)字符串中是否含有 avar str1 = "Maoli"; var str2 = "Runsen";// 通過 test()方法,判斷字符串是否符合 上面定義的 reg 規(guī)則 console.log(reg.test(str1)); // 打印結(jié)果:true console.log(reg.test(str2)); // 打印結(jié)果:false

注意,上面的例子中,我們是先定義了一個(gè)正則表達(dá)式的規(guī)則,然后通過正則表達(dá)式的test()方法來判斷字符串是否符合之前定義的規(guī)則。

2、傳兩個(gè)參數(shù)時(shí)

我們可以傳遞一個(gè)匹配模式作為第二個(gè)參數(shù)。這個(gè)參數(shù)可以是:

  • i 忽略大小寫。這里的 i 指的是 ignore。

  • g 全局匹配模式。這里的 g 指的是 global。

代碼舉例:

var reg = new RegExp('A', 'i'); var str = 'Maoli';console.log(reg.test(str)); // 打印結(jié)果:true

或關(guān)系

檢查一個(gè)字符串中是否包含 a或b

寫法1

var reg = /a|b/;

解釋:使用 | 表示或的意思。

寫法2

var reg = /[ab]/; // 跟上面的那行語法,是等價(jià)的

解釋:這里的[]也是表示或的意思。

[]這個(gè)符號(hào)在正則還是比較常用的。

[]表示:或

其他規(guī)則

一些其他規(guī)則:

  • /[ab]/ 等價(jià)于 /a|b/:檢查一個(gè)字符串中是否包含 a或b

  • /[a-z]/:檢查一個(gè)字符串那種是否包含任意小寫字母

  • /[A-Z]/:任意大寫字母

  • /[A-z]/:任意字母

  • /[0-9]/:任意數(shù)字

  • /a[bde]c/:檢查一個(gè)字符串中是否包含 abc 或 adc 或 aec

舉例

檢查一個(gè)字符串是否是一個(gè)合法手機(jī)號(hào)

手機(jī)號(hào)的規(guī)則:

  • 以1開頭

  • 第二位是3~9之間任意數(shù)字

  • 三位以后任意9位數(shù)字

正則實(shí)現(xiàn):

var phoneStr = "13067890123";? var phoneReg = /^1[3-9][0-9]{9}$/;? console.log(phoneReg.test(phoneStr));

去掉字符串開頭和結(jié)尾的空格

str = str.replace(/^\s*|\s*$/g,"");

常用正則表達(dá)式(熟記)

用戶名/^[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]+$/
手機(jī)號(hào)/^1[3-9][0-9]{9}$/

更多的看菜鳥教程正則表達(dá)式

總結(jié)

以上是生活随笔為你收集整理的十、JavaScript中的正则表达式(六)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。