字符类:重复字符
元字符/元符号 匹配情况
? 例如(x?) 匹配0个或1 个x
* 例如(x*) 匹配0个或任意多个x
+ 例如(x+) 匹配至少一个x
(xyz)+ 匹配至少一个(xyz)
{m,n} 例如x{m,n} n>=次数>=m 匹配最少m个、最多n个x
{n} 匹配前一项n次
{n,} 匹配前一项n次,或者多次
六、常用正则表示==(128)==
1、检查邮政编码
var pattern = /[1-9][0-9]{5}/; //共6位数字,第一位不能为0 var str = '224000'; alert(pattern.test(str));
2、检查文件压缩包
var pattern = /[\w]+\.zip|rar|gz/; //\w 表示所有数字和字母加下划线 var str = '123.zip'; //\.表示匹配.,后面是一个选择 alert(pattern.test(str));
3、删除多余空格
var pattern = /\s/g; //g 必须全局,才能全部匹配 var reg=new RegExp('\\s+','g'); var str = '111 222 333'; var result = str.replace(pattern,''); //把空格匹配成无空格 alert(result);
4、删除空格
var pattern = /^\s+/; var str = ' goo gle '; alert(str+" "+str.length); var result = str.replace(pattern, ''); alert(result+" "+result.length); pattern = /\s+$/; result = result.replace(pattern, ''); alert(result+" "+result.length); pattern = /\s+/g; result = result.replace(pattern, ''); alert(result+" "+result.length); 5、简单的电子邮件验证 var pattern = /^([a-zA-Z0-9_\.\-]+)@([a-zA-Z0-9_\.\-]+)\.([a-zA-Z]{2,4})$/; var str = 'yc60.com@gmail.com'; alert(pattern.test(str)); var pattern = /^([\w\.\-]+)@([\w\.\-]+)\.([\w]{2,4})$/; var str = 'yc60.com@gmail.com'; alert(pattern.test(str));
七、支持正则表达式的字符串方法
方法
描述
search
检索与正则表达式相匹配的第一个匹配项的索引。
match
找到一个或多个正则表达式的匹配。
replace
替换与正则表达式匹配的子串。
split
把字符串分割为字符串数组。
<script type="text/javascript"> var s = "Abc123aBc"; alert(s.search(/abc/gi)); alert(s.search(/abc/gi)); // 即使设置的全局模式,每次search也是从开始向后查找 //match方法和正则表达式的exec()方法的作用是一样的,但是match会一次性把所有的匹配放在一个数组中,全部返回 alert(s.match(/abc/gi)); // Abc,aBc alert(s.replace(/[ab]/gi, "x")); //把a或b替换成x var ss = s.split(/[0-9]+/gi); //用1个或多个数字切割。 Abc,aBc alert(ss); </script>
以上所述是小编给大家介绍的JS基础系列之正则表达式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章: