JS 正則表達式、正則常用表達式孟害、正則元字符拒炎、校驗正則、String類支持正則挨务、正則給字符串數(shù)字加中括號

1.正則表達式:

<script>

? ? ? ? /* [a-z ]查找任何小寫從a到z的字符 */

? ? ? ? /* reg是構(gòu)造函數(shù)RegExp new出來的實例化對象 */

? ? ? ? /* let reg = new RegExp(/[a-z]/); */

? ? ? ? /* 正則方法test()判斷你輸入的字符串是否符合要求

? ? ? ? 符合就返回true击你,不符合就false */

? ? ? ? /* 用字面量方式來表示正則 */


? ? ? ? /* g 執(zhí)行全局匹配(查找所有匹配而非在找到第一個匹配后停止) */

? ? ? ? let str = 'abc1a2c'

? ? ? ? console.log(str.match(/a/g));

? ? ? ? /* i執(zhí)行對大小寫不敏感的匹配 */

? ? ? ? let reg = /[a-z]/i;

? ? ? ? console.log(reg.test('C'));


? ? ? ? /* console.log(reg.test('a')); */

? ? </script>

2.正則常用表達式:

<script>

? ? ? ? //[A-Z] 查找任何A到Z的字符

? ? ? ? //[a-zA-Z]表示大小寫26的字母都能匹配

? ? ? ? //[0-9] 查找任何從0到9

? ? ? ? let reg = /[a-zA-Z]/;

? ? ? ? console.log(reg.test('C'));

? ? ? ? let reg = /[0-9]/

? ? ? ? /* 只要有一個符合都返回true */

? ? ? ? console.log(reg.test(0));

? ? ? ? /* 全部都匹配 */

? ? ? ? let reg = /[0-9a-zA-Z]/;

? ? ? ? console.log(reg.test('abc123'))

? ? ? ? let reg = /[abc]/;

? ? ? ? console.log(reg.test('a'));

? ? ? ? let reg = /[^abc]/;/* 除了abc */

? ? ? ? /* 在[]里面寫叫除了

? ? ? ? 寫在[]外面表示以...開頭 */

? ? ? ? let reg = /^[abc]/

? ? ? ? /* 表示以...結(jié)尾 */

? ? ? ? let reg = /[abc]$/

? ? ? ? console.log(reg.test('d'));

? ? ? ? /* +表示匹配前面字符串一次或者多次 */

? ? ? ? let reg = /^[a-z]+$//* 表示純26個英文大小寫可以匹配 */


? ? ? ? /* {n,m} 表示最少匹配n次最多匹配m次 */

? ? ? ? let reg = /^[a-zA-Z0-9]{6,}$/

? ? ? ? /* 不能少于6位, */

? ? ? ? let reg = /^[a-zA-Z0-9]{6}$/

? ? ? ? /* 必須6位谎柄,必須加上$限定符 */

? ? ? ? let reg = /^[a-zA-Z0-9]{6,10}$/

? ? ? ? /* 不少于6位丁侄,不大于10位 */

? ? ? ? /* *表示匹配0次或者多次 */

? ? ? ? let reg = /^[a-zA-Z0-9]*$/

? ? ? ? /* ?表示0次或者一次 */

? ? ? ? let reg = /^[a-zA-Z0-9]{6,}?$/

? ? </script>

正則常用表達式練習:

<!-- 1.匹配一串字符 包括多個英文字母包括大小寫和數(shù)字 -->

? ? <!-- 2.用戶名: 只能數(shù)字,不小于5

? ? ? ? ? ? ? ? ? ?只能大小寫字母[5-9]包括5和9

? ? ? ? ? ? ? ? ? ?只能出現(xiàn)0次或多次 包括大小寫和數(shù)字

? ? ? ? ? ? ? ? ? ?只能出現(xiàn)0次 一次大小寫和數(shù)字 -->


? ? <script>

? ? ? ? /* let reg1 = /^[0-9a-z]+$/i;

? ? ? ? console.log(reg2.test('asdASD2131')); */

? ? ? ? let reg2 = /^[0-9]{5,}$/;

? ? ? ? ? ? ? ? ? ?/^[a-zA-Z]{5,9}$/;

? ? ? ? ? ? ? ? ? ?/^[a-z0-9A-Z]*$/;

? ? ? ? ? ? ? ? ? ?/^[a-z0-9A-Z]?$/

? ? </script>

3.正則元字符:

<script>

? ? ? ? /* \w ?匹配數(shù)字朝巫,字母鸿摇,下劃線 */

? ? ? ? let reg = /^\w+$/;

? ? ? ? console.log(reg.test('_abc123'));

? ? ? ? /* \W ?匹配非數(shù)字,字母劈猿,下劃線 */

? ? ? ? let reg = /^\W+$/;

? ? ? ? console.log(reg.test('_abc123__'));


? ? ? ? /* \d ?匹配數(shù)字*/

? ? ? ? let reg = /^\d+$/;

? ? ? ? console.log(reg.test('213213'));

? ? ? ? /* \d ?匹配非數(shù)字*/

? ? ? ? let reg = /^\D+$/;

? ? ? ? /* \s ?匹配空白字符,換行\(zhòng)n,回車\r*/

? ? ? ? let reg = /^\s+$/;

? ? ? ? console.log(reg.test('/r'));

? ? ? ? /* \S ?匹配非空白字符,換行\(zhòng)n,回車\空字符串*/

? ? ? ? let reg = /^\S+$/;

? ? ? ? console.log(reg.test('abc123'));

? ? ? ? /* \n ?匹配換行符*/

? ? ? ? let reg = /^\n+$/;

? ? </script>

正則元字符練習:

<!-- 匹配非數(shù)字拙吉,字母,下劃線 6-9 -->

? ? <script>

? ? ? ? let reg = /^\W{6,9}$/

? ? ? ? console.log(reg.test('()()()()'));

? ? </script>

4.校驗正則:

<script>

? ? ? ? /* 1.test符合返回true揪荣,不符合返回false */

? ? ? ? /* exec 符合返回一個數(shù)組筷黔,不符合返回null*/

? ? ? ? let reg = /^[a-z]+$/g;

? ? ? ? console.log( reg.exec('abc'));

? ? </script>

5.String類支持正則的方法:

<script>

? ? ? ? let str = '123abc';

? ? ? ? /* 返回匹配到的第一個字符串的下標,否則返回-1 */

? ? ? ?console.log(str.search(/[a-z]/)); /* 返回3 */

? ? ? ?/* 沒有返回匹配的文本返回null仗颈,否則返回一個數(shù)組(依賴于是否具有全局標志) */

? ? ? ?let str = 'abc123qew';

? ? ? ?console.log(str.match(/^[0-9]/g));/* 返回['1','2','3'] */

? ? ? ?console.log(str.match(/^[0-9]+$/g));/* 返回null */

? ? ? ?/* 返回一個新的字符串 */

? ? ? ?let str = 'abc123qwe'

? ? ? ?let newStr = str.replace('bc','oo');

? ? ? ?let newStr = str.replace(/[0-9]/,'oo');/* abcoo23qwe */

? ? ? ?let newStr = str.replace(/[0-9]/g,'oo');/* abcoooooo23qwe */

? ? ? ?console.log(newStr);

? ? ? ?let str = 'a1b2c3';

? ? ? ?console.log(str.split('-'));/* 匹配不到會把整個字符串當成數(shù)組返回 */

? ? ? ?/* 以數(shù)字為分隔符來分割 */

? ? ? ?console.log(str.split(/[0-9]/,3));/* abc */

? ? ? ?/* split第二個參數(shù)表示分割成幾個數(shù)組 */

? ? </script>

String類支持正則的方法練習:

<script>

? ? ? ? /* 都是一個或者多個 */

? ? ? ? /* 驗證26個英文字母組成的字符串 */

? ? ? ? let reg = /^[a-zA-Z]+$/


? ? ? ? /* 驗證由數(shù)字和26個英文字母組成的字符串 */

? ? ? ? let reg = /^[a-zA-Z0-9]+$/

? ? ? ? let reg = /^\d{1}$/

? ? ? ? /* 驗證由數(shù)字佛舱,字母,下劃線組成的字符串 */

? ? ? ? let reg = /^\w+$/;

? ? ? ? /* 驗證漢字 ? \u4e00-\u9fa5 */

? ? ? ? let reg = /^[\u4e00-\u9fa5]+$/

? ? ? ? console.log(reg.test('u4e00'));

? ? </script>

6.用正則給如下字符串的數(shù)字加上中括號:

<script>

? ? ? ? let str = 'abc345efg';

? ? ? ? let newstr = str.split('')

? ? ? ? for(i=0;i<newstr.length;i++){

? ? ? ? ? ?if(/\d/.test(newstr[i])){

? ? ? ? ? ? ? ?newstr[i]='{'+newstr[i]+'}'

? ? ? ? ? ?}

? ? ? ? }arr = newstr.join('')

? ? ? ? alert(arr)

? ? </script>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市请祖,隨后出現(xiàn)的幾起案子订歪,更是在濱河造成了極大的恐慌,老刑警劉巖损拢,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件陌粹,死亡現(xiàn)場離奇詭異撒犀,居然都是意外死亡福压,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門或舞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荆姆,“玉大人,你說我怎么就攤上這事映凳〉ㄍ玻” “怎么了?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵诈豌,是天一觀的道長仆救。 經(jīng)常有香客問我,道長矫渔,這世上最難降的妖魔是什么彤蔽? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮庙洼,結(jié)果婚禮上顿痪,老公的妹妹穿的比我還像新娘。我一直安慰自己油够,他們只是感情好蚁袭,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著石咬,像睡著了一般揩悄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鬼悠,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天删性,我揣著相機與錄音,去河邊找鬼厦章。 笑死镇匀,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的袜啃。 我是一名探鬼主播汗侵,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了晰韵?” 一聲冷哼從身側(cè)響起发乔,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎雪猪,沒想到半個月后栏尚,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡只恨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年译仗,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片官觅。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡纵菌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出休涤,到底是詐尸還是另有隱情咱圆,我是刑警寧澤,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布功氨,位于F島的核電站序苏,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏捷凄。R本人自食惡果不足惜忱详,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望纵势。 院中可真熱鬧踱阿,春花似錦、人聲如沸钦铁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽牛曹。三九已至佛点,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間黎比,已是汗流浹背超营。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留阅虫,地道東北人演闭。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像颓帝,于是被迫代替她去往敵國和親米碰。 傳聞我的和親對象是個殘疾皇子窝革,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內(nèi)容

  • /* i執(zhí)行對大小寫不敏感的匹配 */ /* g執(zhí)行全局匹配(查找所有匹配而非找到第一個后停止) ...
    沖鋒敢死曾小賢閱讀 389評論 0 0
  • JavaScript中Dom 1.基本概念 1.1 什么是window? window:是一個全局對象, 代表瀏覽...
    煤球快到碗里來閱讀 249評論 0 0
  • ECMAScript - 學習筆記 ?? ??nvm node.js 包管理工具 nvm github[https:/...
    Super三腳貓閱讀 624評論 0 1
  • 一、 正則表達式是什么?有什么用? 也叫規(guī)則表達式,符合規(guī)則放行,不符合規(guī)則的拒絕 表單驗證 在登錄或注冊或者有表...
    哈雷_瑞星閱讀 500評論 0 0
  • 1.什么是正則表達式?正則表達式就是對字符串操作的一種邏輯公式 2.正則表達式的作用?2.1 在"字符串"查找是否...
    仰望_IT閱讀 550評論 0 0