1,正则表达式是用用于验证的,即符合正则表达式则通过验证,所以首先它是个表达式,其次它需要用来验证别人是不是和它匹配,所以需要有内置的 “方法”;
2,使用情景:一个input输入框要求你输入0-9的数字,如果你输入非数字就会报错;
<input type="text">
var reg=/^[0-9]&/;
string=$("input").val();
reg.test(string); //用正则表达式匹配字符串string,返回false或true;
3,开始学习语法:
1,正则表达式用两种方法表示:
var reg=new RegExp("\ \w+ ");
var reg=/ \w+ /; \w+是正则表达式内容;
2,^表示字符串开始的位置,&表示字符串结束的位置;
3,方括号[ ]表示一种范围:
[0-9] [a-z] [A-Z]缩写为:[0-9a-zA-Z];
[^ ]非
( a | b | c) 或:匹配a或b或c都行;
4,修饰符放在正则表达式外面:表示匹配的条件;
i 表示匹配的时候不区分大小写;
g 表示查找所有匹配成功的值,而不是匹配第一个就停止;
var reg= / ^ [abc]& / i;
string=Abc;
reg.test(string); //true;
5,元字符放在正则表达式里面:表示查找的内容性质;
. 匹配除换行符,行结束符外所有的字符;
\w匹配单词(数字);
\W匹配非单词(非数字);
\d匹配数字;
\D匹配非数字;
\s匹配空格;
\S匹配非空格;
\b匹配单词边界;
\B匹配单词非边界;
6,量词,
^ 开头
& 结尾
+ 多个字符串
n{x} 包含x个n
n{x,} 包含至少x个n
n{x,y}包含x-y个n
n ?= x 后面是x的所有n;
n ?! x 后面不跟x的所有n;
7,被匹配字符串的方法:
replace():
var string="hello i am ello";
reg=/man/g;
string.replace(reg, "ello"); //使用replace将字符串中和正则表达式相匹配的字符串替换成其他字符;
match();
var reg=/ello/g;
var val=string.match(reg);
console.log(val) // ello, ello 即使用match可以使正则表达式在字符串中匹配多个结果,并返回这些结果;和exec()对照
search();
var reg=/ello/;
return string.search(reg); // 返回1(不是0) 返回匹配的第一个值在字符串中的位置;
split();
var s=string.split" ");
return s ; // hello, i , am , ello将字符串以空格形式划分为数组;
8,正则对象的方法:
test();
var reg=/ello/g;
var x=string.test(reg);
return x; //true; 检测字符串是否匹配正则表达式,若匹配返回true;否则返回false;
toString();
var reg=/ello well/gi;
return reg.toString(); // /ello well/gi 返回正则表达式;
exec();
var reg=/ello/g;
return string.exec(reg); // ello 返回和正则表达式匹配的字符串,仅仅返回第一个,和match()对照;
www.runoob.com/jsref/jsref-obj-regexp.html