javascript高级-强大的正则表达式
正则表达式的确是个强大的东西,最近研究了一把,记录自己的思路,哪天忘了可以回头看看.
javascript中用到正则的一些方法:
RegExp.test(正则) 返回boolean类型,符合正则返回true,否则返回false
String.search(正则) 返回出现位置,如未出现返回-1
String.match(正则) 返回符合要求的串组成的数组
String.replace(正则,替换内容) 这个比较强大,可作为去除首尾空格和过滤敏感词,日期格式化。第二个参数可接收一个函数,函数中可带多个参数,下面用一个示例演示吧。
正则写法(两种):
一种字面量写法:var re = /^[1-9]\d*$/;
注:var re = // 这种写法是错误的,因为//不带内容内容就成为了一个注释
另一种是对象写法: var re = new RegExp('/(\w)\1+/','g');
正则首尾标识:
^开始 $结束
var re = /^[1-9]\d{4,}$/; // 这是一个验证qq号码的正则
比如上面这个验证qq号码的正则表达式,^[1-9]这就确保了^后面必须跟的是1-9的数字,\d{4,}$ $结束表之前是数字正则,这样确保了结束前也是数字。
如果想上面这样同时存在^开始$结束标志,中间的内容即时匹配时内容的完整内容。如:
var re = /^[a-zA-Z]+$/ // 匹配由26个英文字母组成的字符串 var re = /^[a-z]$/ // 匹配由26个小写英文字母组成的字符串 var re = /^\w+$/ // 匹配由数字26个英文字母或者下划线组成的字符串