2018-05-20正則、string中的正則API

一、正則

(1)預定義字符集

一位數(shù)字\d===[0-9]

一位數(shù)字字母下劃線\w===[0-9A-Za-z_]

一位空格tab鍵?? \s

(2)量詞:規(guī)定出現(xiàn)的數(shù)量(次數(shù))

有明確數(shù)量限制

用{m,n}表示最多出現(xiàn)m次,最少出現(xiàn)n次

{m,}表示最小出現(xiàn)m次,最多不限

{m}表示必須出現(xiàn)m次

沒有明確限制

?可有可無? 最多一次

*可有可無? 多了不限

+至少一次? 最多一次

(3)分組或選擇

( )表示分組

|表示或者

var wrt=prompt('請輸入...');

//可以包含數(shù)字字母下劃線? 6-12位

? ? ? ? ? ? var reg=/^\w{6-12}$/;

? ? ? ? ? ? var result=reg.test(wrt);

? ? ? ? ? ? console.log(result);

string中的正則API

1.search(/正則/);查找一個關鍵字所在的位置

找不到返回-1

找到的是關鍵字的位置,找不到內容

? ? ? ? ? ? var str='you can you up';

? ? ? ? ? ? var reg=str.search(/you/);

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

2.match(/正則/);? 獲得所有和正則匹配的關鍵詞 輸出在數(shù)組

g表示輸出所有和正則匹配的關鍵詞

i表示忽略大小寫

? ? ? ? ? ? var str='good gooD study,day day up';

? ? ? ? ? ? var num=str.match(/d/ig);

? ? ? ? ? ? console.log(num);

3.replace(/正則/,'替換值');

? ? ? ? ? ? var str='no zuo No die';

? ? ? ? ? ? var num=str.replace(/no/ig,'**');

? ? ? ? ? ? console.log(num);

4.split(/正則/); 切割?? 切割完變成數(shù)組

? ? ? ? ? ? var str='no,zuo,no,die';

? ? ? ? ? ? var num=str.split(/,/);

? ? ? ? ? ? console.log(num);

案例:

(1)獲取輸入框和span

? ? ? ? var input=document.querySelector('input');

? ? ? ? var span=document.querySelector('span');

? ? ? ? input.onblur=function(){

? ? ? ? ? ? var reg=/^[0-9A-Za-z_]{6,12}$/;

? ? ? ? ? ? var result=reg.test(input.value);

? ? ? ? ? ? if(result){

span.innerHTML='用戶名格式正確';

? ? ? ? ? ? }else{

span.innerHTML='用戶名格式錯誤,請重新輸入';

? ? ? ? ? ? }

? ? ? ? }

(2)身份證號正則

var wrt=prompt('請輸入您的身份證號');

? ? ? ? var reg=/^\w{17}[0-9xX]$/;

? ? ? ? var result=reg.test(wrt);

? ? ? ? console.log(result);

手機號碼正則

var wrt=prompt('請輸入你的手機號');

? ? ? ? var reg=/^(0086|86)?\s*1[356789]\d{9}$/;

? ? ? ? var result=reg.test(wrt);

? ? ? ? console.log(result);

獲得焦點事件:onfocu

失去焦點事件:onblur

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容