js正则表达式
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);