//常有正则字符
// \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.youkuaiyun.com/yu_han_23/article/details/13018619.html" ;
url = url.replace(/(.*\/){0,}([^\.]+).*/ig,"<font color=red>$1</font>$2") ; //([^\.]+)匹配除.以外的字符
document.write(url);
JS中replace方法的用法
最新推荐文章于 2025-04-02 16:27:29 发布