javascript基础十一(正则表达式)
2016-05-13 15:16
489 查看
/** * 正则:操作字符串 * 正则的写法: * * 常用方法 * test:正则匹配字符串,匹配成功返回真,匹配失败返回假 * RegExp.test(str); * search:正则去匹配字符串,成功返回匹配成功的位置,匹配失败返回-1 * str.search(RegExp) * match:正则去匹配字符串,如果匹配成功就返回匹配成功的数组,如果匹配不成功就返回null * str.match(正则); * replace:正则去匹配字符串,匹配成功的字符串替换成新的字符串 * str.replace(正则,新的字符串) * replace:第二个参数可以是字符串,也可以是一个回调函数 * * 转移字符: * \s 空格 * \S 非空格 * \d 数字 * \D 非数字 * \w 字符(字母,数字,下划线) * \W 非字符 * 正则中默认区分大小写,如果不区分大小写的话,在正则的最后加上标识符i * 正则默认成功就会结束,不会继续匹配如果想要全部查找就要加表示g(全局匹配) * 量词: * + : 至少出现一次 */ var re = /pattern/; var re = new RegExp(); var str = "dshkhdskds328hkjkj3232hkkh222"; // var reg = new RegExp("ds") var reg = /ds/g; //简写 var reg2 = /\d+/g var reg3 = /d/g; // var reg = new RegExp("DS","i"); //全写 // alert(reg.test(str)); // alert(str.search(reg)); // alert(str.match(reg2)); // alert(str.replace(reg3,"m")); // 敏感词过滤 var str2 = "妙味课堂视频教程 - 学习顺序图谱(供参考"; var re = /视频|供/g; // alert(str2.replace(re,"**")); /*alert(str2.replace(re,function(str){ // alert(str); // 函数的第一个参数就是;匹配成功的字符 var result = ''; for(var i=0;i<str.length;i++){ result += '*'; } return result; })) */ //匹配子项:() /分组操作 //把正则的整体叫做整体(母亲),然后把小括号里的正则叫做第一个子项,第二个括号就是第二个子项 var exg = '2016-05-13'; var re2 = /(\d+)(-)/g; exg = exg.replace(re2,function($0,$1,$2){ // alert($2); // $0:正则结果; // $1:2016 05; // $2:- -; return $1 + "/"; }) alert(exg);
<pre name="code" class="javascript">//字符类 [] var str3 = 'aed'; var str4 = 'abcd'; var reg3 = /a[bce]d/; alert(reg3.test(str3)); //true alert(reg3.test(str4)); //false //排除:^ 如果^下载[]里面的话,就代表排出的意思 //范围 [a-z]; var reg4 = /a-z0-9A-Z/; //转移字符 .任意字符 \. \b:独立部分 单词边界 \B:非独立部分 非单词边界 \1 重复的第一个子项 \2 重复的第2个子项 \3 重复的第3个子项 var reg4 = /(a)(b)(c)\2/ //abbc; //找出字符串中出现最多的字母并提示出现了多少次 var str5 = "fakdhkavlahlihdshhhdhdhd"; var arr = str.split(''); str5 = arr.sort().join(''); var value = ''; var index = 0; var reg5 = /(\w)\1+/g; str5.replace(reg,function($0,$1){ alert($0); //aaa dddd ... if(index<$0.length){ index = $0.length; value = $1; } })
相关文章推荐
- JS中国时间转化为标准时间 Thu Aug 22 2013 15:12:00 GMT+0800
- JS中Null与Undefined的区别
- 利用jsp+uploadify插件实现附件下载
- 20160513--js 弹出窗口带有iframe控件 备忘
- JavaScript 跨域:谈谈跨域之 JSONP
- JavaScript内的类型转换
- 浅析javascript异步执行函数导致的变量变化问题解决思路
- JavaScript——3(事件处理与实用范例)
- 为何说 JavaScript 开发很疯狂
- js获取昨天的日期
- 为何说 JavaScript 开发很疯狂
- 数组插件----linq.js
- JavaScript的String对象
- javaScript和H5开发神器之WebStrom
- 使用js写的确认提交表单确认框
- Javascript 短路原理
- 一个新人对于JavaScript简单应用的理解
- javascript异步执行函数导致的变量变化问题解决思路
- JS继承机制的深入理解--动态原型存在的问题与解决
- 将所有的.jsp动态页面变成.html静态页面