首页 > Web开发 > 详细

js正则表达式学习

时间:2017-01-04 23:05:04      阅读:214      评论:0      收藏:0      [点我收藏+]
//几种字符串操作:
var str = ‘abcdef‘; alert(str.search(‘b‘)); //弹出1;返回的是b在str中的位置;如果找不到返回-1; alert(str.substring(2,5)); //弹出cde;不包括结束位置; alert(str.substring(1)); //弹出bcdef,从开始位置一直截取到结束位置; alert(str.charAt(3)); //弹出d,返回的是第3个位置的字符;
var str = ‘12 fff 87 er334 233 -=-=-=fa80‘;
alert(str.match(/\d+/g));	//返回字符串数组: 12 87 334 233 80

/*
正则表达式的两种风格
*/
var re = new RegExp(‘a‘,‘i‘);
var re = /a/i;
//找下面字符串中出现的第一个数字:
var str = ‘asdf 23 23  zxcacxzczxc‘;
var re = /\d/;

console.log(str.search(re));		//5	找出第一个数字的位置

match用法:

//关于match:
//match: 把所有匹配的东西,全都提取出来;
var str = ‘asdf 34 656 vsd33‘;
var re = /\d/;
var re2 = /\d/g;			//g global 找到全部
var re3 = /\d+/g;

alert(str.match(re));		//弹出3
alert(str.match(re2));		//弹出3,4,6,5,6,3,3	因为只告诉了计算机找一个数字
alert(str.match(re3));		//弹出34,656,33

 replace用法:

//把所有的a都替换成数字0
var str = ‘abc aaa erw‘;
var re = /a/g;

alert(str.replace(‘a‘, ‘0‘));  //弹出0bc aaa erw;
alert(str.replace(re, ‘0‘));	 //弹出0bc 000 erw;

replace小例子-敏感词过滤:

<body>
    <textarea id=‘txt1‘ cols="40" rows="5"></textarea><br>
    <input id="btn1" type="button" value="过滤"/><br>
    <textarea id=‘txt2‘ cols="40" rows="5"></textarea><br>
</body>

<script type="text/javascript">
//敏感词过滤
window.onload = function(){
    var oTxt1 = document.getElementById("txt1");
    var oTxt2 = document.getElementById("txt2");
    var oBtn = document.getElementById("btn1");

    oBtn.onclick=function(){
        var re = /北京|淘宝|百度/g;

        oTxt2.value = oTxt1.value.replace(re, ‘***‘);
    }
}
</script>

图:

技术分享

  

js正则表达式学习

原文:http://www.cnblogs.com/tenWood/p/6250442.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!