js正则表达式replace中参数为$1、$2、...、$99、函数等用法以及常用的正则表达式 |
您所在的位置:网站首页 › js替换类名 › js正则表达式replace中参数为$1、$2、...、$99、函数等用法以及常用的正则表达式 |
语法: string.replace(regexp, replacement)参数: regexp:必需。要搜索的值或正则表达式。 replacement:必需。指定替换文本或生成替换文本的函数。 返回值:已替换指定值的新字符串。 w3school:JavaScript String replace() 方法 一、常规使用将aaa替换为111: var str = "aaa,bbb,ccc";str.replace('aaa', "111");//输出'111,bbb,ccc'将连续的字母替换为111: var str = "aaaaaaa,bbbbbb,ccc";str.replace(/\w+/g, "111");//输出'111,111,111'将所有字母全部替换为1: var str = "aaa,bbb,ccc";str.replace(/\w/g, "1");//输出'111,111,111' 二、$1、$2、...、$99 var str = "aaa,bbb,ccc";str.replace(/(\w+),(\w+),(\w+)/, "$3,$2,$1");//输出'ccc,bbb,aaa' $1代表第一个(\w+)匹配到的内容,即aaa$2代表第一个(\w+)匹配到的内容,即bbb$3代表第一个(\w+)匹配到的内容,即ccc var str = "aaa、bbb、ccc";str.replace(/(\w)+、(\w)+、(\w)+/, "$3$2$1");//输出'cba' $1代表第一个(\w)匹配到的内容,即a$2代表第一个(\w)匹配到的内容,即b$3代表第一个(\w)匹配到的内容,即c结论:$1、$2、...、$99 表示正则表达式中的括号匹配项的结果。 三、函数 //输出'hello,world'var str = "Hello,World";str.replace(/[A-Z]/g, function(val){ return val.toLowerCase()}); //输出'HELLO,WORLD'var str = "Hello,World";str.replace(/[a-z]/g, function(val){ return val.toUpperCase()}); //输出'000,000,111'var str = "aaaaaaa,bbbbbb,ccc";str.replace(/\w+/g, function(val){ return val === 'ccc' ? '111':'000'});一个经典的例子——模板字符匹配: var data = { title:'标题', subTitle: '副标题', content:'内容'}var str='这是一段内容,标题是{{title}},副标题是{{subTitle}},内容是{{content}}' str.replace(/\{\{(.*?)\}\}/g, function(val,key){ return data[key]});输出:这是一段内容,标题是标题,副标题是副标题,内容是内容 这里函数的第一个参数是匹配的内容,第二个参数是括号匹配的结果 四、其他常用正则表达式邮箱格式:^[a-z0-9A-Z]+[- | a-z0-9A-Z . _]+@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-z]{2,}$ 正整数:^[1-9]([0-9])*$ (https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|] 最多三位小数^(?:[1-9]\\d*|0)(?:\\.\\d{1,3})?$大于等于0且最多三位小数^(?!0+(?:\\.0+)?$)(?:[1-9]\\d*|0)(?:\\.\\d{1,3})?$最多两位小数^(?:[1-9]\\d*|0)(?:\\.\\d{1,2})?$大于等于0且最多两位小数^(?!0+(?:\\.0+)?$)(?:[1-9]\\d*|0)(?:\\.\\d{1,2})?$至少两个字符,中文或英文^([a-zA-Z\\u4E00-\\u9FA5]+)$3-15个字符,仅限数字、字母、斜杠、横杠、点^[-/0-9A-Za-z.]{3,15}$ |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |