常见模式匹配字符:
. 任意一个字符,将匹配字母,数字空格或者其他字符;
\w 任何单词字符,包括a-z,A-Z,数字0-9以及下划线字符;
\W 不是单词字符的字符,与\w 刚好相反;
\d 数字0-9之间的任何一个;
\D 数字之外的任何字符,与\d正好相反;
\s 一个空格,制表符,换行或回车;
\S 空格,制表符,换行,回车之外的任何内容;
^ 匹配开头;
$ 匹配末尾;
\b 一个空格,字符串的开始,字符串的结尾,或者像=,+或者 ‘ 这样的任何非字符或非数字字符。使用 \b 来匹配一个单词的开始或结束,即便这个单词在字符串的开始或结尾;
[ ] 括号之间的任何字符;
[^ ] 括号之外的任何字符;
| 之前或之后的某一个字符,例如 a|b 匹配a或者b,但不会全部匹配;
\ 用来转义任何特殊的正则表达式符号,以查找字符串中的符号的字面值示
示例:
varreg=/^[-\w.]+@([a-zA-Z0-9][-a-zA-Z0-9]+\.)+[a-zA-Z]$/
varmyRegEx=/To Be/;
varquote="To be or not to be";
varfoundPosition=quote.search(myRegEx);
varzipTest=/^\d\d\d\d\d$/;
if(zip.search(zipTest)==-1) {
alert("This is not a valid zip code");
}else{
console.log('验证成功');
}
示例:
找到 .gif \.gif
找到 gif 之前的任何一个字符 /\S*\.gif/.
查找不区分大小写 /\S*\.gif/i
完整代码示例:
vartestString="The file is logo.gif";
vargifRege=/\S\.gif/i;
varresults=testString.match(gifRege);// match匹配所有
varfile=results[];
分组正则表达式:
我们使用() 在模式中创建一个分组
? 前面项目的零次或一次出现,应为前面的项目是可选的,但是,如果出现只能出现一次
+ 前面项目的一次或多次出现,之前的 项目必须至少出现一次
* 前面项目的零次或多次出现,之前项目是可选的,并且可以出现任意次
前面项目出现固定的次数
前面项目的n次或多次出现
前面项目至少出现n次但不超过m次
示例:查询一个字符串是否包含Apr 或者 April
varsentence="April is the curelest month.";
varaprMatch=/Apr(il)?\b/;
if(sentence.search(aprMatch)!=-1) {
// found Apr or April
}else{
// not found
}
领取专属 10元无门槛券
私享最新 技术干货