js正則表達式是一種規則字符串
正則表達式定義:
var str="I am a good boy123";
/*描述規則*/
var reg=/4/;
/*根據正則表達式的規則判斷字符串是否符合規則*/
var flag=reg.test(str);
alert(flag);
/*根據正則表達式找到符合規則的字符串返回給你*/
var element=reg.exec(str);
alert(element);
正則表達式:
正則表達式所支持的常用通配符
. |
可以匹配任何字符 |
\d |
匹配0-9的所有數字 |
\D |
匹配非數字 |
\s |
匹配所有空白字符,包括空格、制表符、換行符、回車符等 |
\S |
匹配所有非空白字符 |
\w |
匹配所有的單詞字符,包括0-9數字、26個英文字母和下划線 |
\W |
匹配所有的非單詞字符 |
\b |
匹配單詞邊界 |
\B |
匹配非單詞邊界 |
[abc] |
查找方括號之間的任何字符 |
[^abc] |
查找任何不在方括號之間的字符 |
[0-9] |
查找任何從0至9的數字 |
[a-z] |
查找任何從小寫a到小寫z的字符 |
[A-Z] |
查找任何從大寫A到大寫Z的字符 |
[A-z] |
查找任何從大寫A到小寫z的字符 |
(red|blue|green) |
查找任何指定的選項 |
js正則表達式量詞:
正則表達式量詞
n+ |
匹配任何包含至少一個n的字符串 |
n* |
匹配任何包含零個或多個n的字符串 |
n? |
匹配任何包含零個或一個n的字符串 |
n{X} |
匹配包含X個n的序列的字符串 |
n{X,Y} |
匹配包含X或Y個n的序列的字符串 |
n{X,} |
匹配包含至少X個n的序列的字符串 |
n$ |
匹配任何結尾為n的字符串 |
^n |
匹配任何開頭為n的字符串 |
正則表達式修飾符
i |
執行對大小寫不敏感的匹配 |
正則表達式練習題:
例如判定一個郵箱:1750514279@qq.com
var email =1750514279@qq.com;
var reg=/^[0-9a-zA-Z_]+@[0-9a-zA-Z]+\.[a-zA-Z]$/將.變成\.無意義
var flag=reg.test(email);
alert(flag);
true。
判定年月日:
var time=“2018-12-6”;
var reg=“/^[0-9]{4}-[1]?[0-9]-[0-9]{1,2}$/”
var flag=reg.test(time);
alert(flag);
判斷5-12qq,非零開頭
var qq="1750514279"
var reg=/^[1-9][0-9]{5,13}$/
var flag2=reg0.test(qq);
alert(flag2);
8-10數字字母下划線
var pass="lvmin521_";
var reg1=/^[a-zA-Z0-9_]{8,11}$/;
var flag1=reg1.test(pass);
alert(flag1);
11位的電話號碼
第一位數字為1,第二位為3-9,后面隨便9位數
var tel="17864382939";
var reg3=/^[1][4-8][0-9]{9}$/;
var flag3=reg3.test(tel);
alert(flag3);