摘要:前言正則表達式時處理字符串中常用的手法,本文以簡單的方式,快速展示了中正則相關(guān)的基礎(chǔ)知識點。文末還提供了幾個簡單的正則相關(guān)面試題。接下來是正則部分,注意后面的并不匹配,也就是比如,實際匹配的值是和,在和后面加上,就完成了預(yù)期。
前言:正則表達式時處理字符串中常用的手法,本文以簡單的方式,快速展示了JavaScript中正則相關(guān)的基礎(chǔ)知識點。文末還提供了幾個簡單的正則相關(guān)面試題。個人總結(jié),如有錯誤,還望指正,
JavaScript正則表達式快速入門 兩種新建語法字面量法
var patt = /w+/i;
RegExp對象法
(1)var patt = new RegExp("/w+/i");
(2)var patt = new RegExp("w+","i");
其中第二個變量表示修飾符,在ES5中,(1)方法不允許加第二個變量,ES6中則允許,且后面的修飾符會覆蓋原修飾符。
五個修飾符i:忽視大小寫
g:全局匹配
m:多行匹配
u:用于處理大于uFFFF的字符(ES6新增)
y:類似g,但是有粘連特點(ES6新增)
1、reg.sticky
用于檢測是否設(shè)置y修飾符,返回true/false(ES6新增)
2、reg.source
返回表達式正文(ES5)
3、reg.flags
量詞系列返回修飾符(ES6新增)
基礎(chǔ)量詞
? (0或1)
* (0個及以上)
+ (1個及以上)
開頭結(jié)尾
^ 開頭
$ 結(jié)尾
指定量詞
{x} 指定數(shù)量
{x,} 大于X數(shù)量
{x,y} x,y之間
特殊
語法系列 RegExp方法?=str 后面緊接str的
?!str 后面沒有緊接str的
1、compile方法
patt.compile(newPatt)
用于編譯正則,或者改變正則內(nèi)容
2、exec方法
patt.exec(str)
如果找到了,返回相應(yīng)的字符串,如果沒有,返回null
3、test方法
patt.test(str)
如果找到了,返回true,否則返回false
String方法1、search()
str.search(patt)
如果找到了,返回起始位置,否則返回-1
2、match()
str.match(patt)
返回一個數(shù)組,沒有找到返回null
3、replace()
str.replace(patt, newValue)
替換指定的內(nèi)容
4、split()
str.split("patt")
以指定內(nèi)容分割為數(shù)組
部分題目 題目一:正則校驗電子郵箱var checkEmail = function(email) { var patt = /^([0-9A-Za-z-_.]+)@([0-9a-z]+.[a-z]{2,3}(.[a-z]{2})?)$/i return patt.test(email); } //另一種寫法 /^(w)+(.w+)*@(w)+((.w{2,3}){1,3})$/;題目二: 為string添加去除前后空白字符的函數(shù)trim()
String.prototype.trim = function() { return this.replace(/^s+|s+$/g) }題目三:為數(shù)字添加","分割符,例如123456789輸出123,456,789
function commafy(num) { return num && num.toString() .replace(/(d)(?=(d{3})+.)/g, x => x + ","); }
題目簡析:首先是&&,短路運算符,也就是相當(dāng)于if...else,當(dāng)num存在時,會返回后面的值。
接下來是正則部分,注意?=后面的并不匹配,也就是比如12345678.9,實際匹配的值是2和5,在2和5后面加上",",就完成了預(yù)期。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/83429.html
摘要:責(zé)編現(xiàn)代化的方式開發(fā)一個圖片上傳工具前端掘金對于圖片上傳,大家一定不陌生。之深入事件機制前端掘金事件綁定的方式原生的事件綁定方式有幾種想必有很多朋友說種目前,在本人目前的研究中,只有兩種半兩種半還有半種的且聽我道來。 Ajax 與數(shù)據(jù)傳輸 - 前端 - 掘金背景 在沒有ajax之前,前端與后臺傳數(shù)據(jù)都是靠表單傳輸,使用表單的方法傳輸數(shù)據(jù)有一個比較大的問題就是每次提交數(shù)據(jù)都會刷新頁面,用...
摘要:一團隊組織網(wǎng)站說明騰訊團隊騰訊前端團隊,代表作品,致力于前端技術(shù)的研究騰訊社交用戶體驗設(shè)計,簡稱,騰訊設(shè)計團隊網(wǎng)站騰訊用戶研究與體驗設(shè)計部百度前端研發(fā)部出品淘寶前端團隊用技術(shù)為體驗提供無限可能凹凸實驗室京東用戶體驗設(shè)計部出品奇舞團奇虎旗下前 一、團隊組織 網(wǎng)站 說明 騰訊 AlloyTeam 團隊 騰訊Web前端團隊,代表作品WebQQ,致力于前端技術(shù)的研究 ISUX 騰...
摘要:一團隊組織網(wǎng)站說明騰訊團隊騰訊前端團隊,代表作品,致力于前端技術(shù)的研究騰訊社交用戶體驗設(shè)計,簡稱,騰訊設(shè)計團隊網(wǎng)站騰訊用戶研究與體驗設(shè)計部百度前端研發(fā)部出品淘寶前端團隊用技術(shù)為體驗提供無限可能凹凸實驗室京東用戶體驗設(shè)計部出品奇舞團奇虎旗下前 一、團隊組織 網(wǎng)站 說明 騰訊 AlloyTeam 團隊 騰訊Web前端團隊,代表作品WebQQ,致力于前端技術(shù)的研究 ISUX 騰...
摘要:一團隊組織網(wǎng)站說明騰訊團隊騰訊前端團隊,代表作品,致力于前端技術(shù)的研究騰訊社交用戶體驗設(shè)計,簡稱,騰訊設(shè)計團隊網(wǎng)站騰訊用戶研究與體驗設(shè)計部百度前端研發(fā)部出品淘寶前端團隊用技術(shù)為體驗提供無限可能凹凸實驗室京東用戶體驗設(shè)計部出品奇舞團奇虎旗下前 一、團隊組織 網(wǎng)站 說明 騰訊 AlloyTeam 團隊 騰訊Web前端團隊,代表作品WebQQ,致力于前端技術(shù)的研究 ISUX 騰...
閱讀 1294·2021-10-08 10:05
閱讀 4107·2021-09-22 15:54
閱讀 3105·2021-08-27 16:18
閱讀 3107·2019-08-30 15:55
閱讀 1436·2019-08-29 12:54
閱讀 2748·2019-08-26 11:42
閱讀 543·2019-08-26 11:39
閱讀 2129·2019-08-26 10:11