JS中replace方法的用法

	//常有正则字符
//		\d	匹配一个字数字符,/\d/ = /[0-9]/
//		\D	匹配一个非字数字符,/\D/ = /[^0-9]/
//		\n	匹配一个换行符
//		\r	匹配一个回车符
//		\s	匹配一个空白字符,包括\n,\r,\f,\t,\v等
//		\S	匹配一个非空白字符,等于/[^\n\f\r\t\v]/
//		\w	匹配字母或数字或下划线或汉字 
//		\W	匹配任意不是字母,数字,下划线,汉字的字符 
//		. 匹配除换行符以外的任意字符 

//		* 出现零次或更多次 
//		+ 出现一次或更多次 
//		? 出现零次或一次 
//		{n} 出现n次 
//		{n,} 出现n次或更多次 
//		{n,m} 出现n到m次

//		[^x] 匹配除了x以外的任意字符 


	//1、替换单个的词
		var str1 = "咋们结婚吧" ;
		str1 = str1.replace("结婚","成亲") ;
		document.write("str1="+str1) ;
		document.write("</br>") ;
	
	//2、替换多个同样的词,要用全匹配/g,/gi其中i是不区分大小写   。   还有一种/gim,m表示多行查询,但是很少用到
		var str2 = "My name is Lili,my father is LBJ ,My mother is Lucy"
		var str3 = str2.replace(/My/g,"your") ;
		document.write("str3="+str3) ;		//my不会被替换
		document.write("</br>") ;
		//要想my和My都被替换,机不区分大小写,只要这样:
		var str4 = str2.replace(/My/gi,"your") ;
		document.write("str4="+str4) ;		//my会被替换
		document.write("</br>") ;
		
	//或者创建正则RegExp对象 
		var reg1 = new RegExp("My") ;
		document.write("RegExp(My)="+str2.replace(reg1,"your")) ;			//只会匹配第一个My
		document.write("</br>") ;
		var reg2 = new RegExp("My","g");
		document.write("RegExp(My,g)="+str2.replace(reg2,"your")) ;			//会匹配所有的My,但是不会匹配my
		document.write("</br>") ;
		var reg3 = new RegExp("My","gi");
		document.write("RegExp(My,gi)="+str2.replace(reg3,"your")) ;			//会匹配所有的My和my
		document.write("</br>") ;
		
	//3、替换的词,颜色凸显出来
		document.write(str2.replace(/(my)/gi,"<font color=red>$1</font>")) ;
		document.write("</br>") ;	
		//隐藏手机后8位
		var objStr="我的手机号码是:15230673578" 
		var regs = /(\d{2})(\d)(\d{8})/;//该正则表达式可以匹配手机号码以15开头的11为号码以()为子匹配的标志 
		document.write(objStr.replace(regs,"$1$2********"));
		document.write("</br>") ;
		//单词对换位置
		var name = "Doe, John";
		document.write(name.replace(/(\w+)\s*, \s*(\w+)/, "<font color=red>$2 $1</font>"));
		document.write("</br>") ;
		
		var url="http://blog.csdn.net/yu_han_23/article/details/13018619.html" ;
		url = url.replace(/(.*\/){0,}([^\.]+).*/ig,"<font color=red>$1</font>$2") ;		//([^\.]+)匹配除.以外的字符
		document.write(url);
		

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值