javacript replace 正则取字符串中的值并替换【推荐】

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

问题:

在使用ueditor 富文本编辑器,给字体颜色时,发现getCent后的内容颜色为rgb

<span style="color: rgb(0, 0, 255);" >aaaaa </spa>

而前端需求rgb的读取不了,因此要转成16进制的颜色。找了uedtitor编辑器一圈,没找到方法。

因此。我想到的解决方法是,在提交保存之前,把富文本里的内容找出rgb颜色并替换成16进制颜色。

解决的js如下

function doSubmit(){
  var content = UE.getEditor('messageTemplate').getContent();
  content = content.replace(/rgba?\(\s?\d+\s?,\s?\d+\s?,\s?\d+\s?\)/g,function(){
    return fixColor('color',arguments[0]);
  })
  .......
}
 //rgb颜色 转16进制
function fixColor(name,value){
  if (/color/i.test(name) && /rgba?/.test(value)) {
    console.log(value);
    var array = value.split(",");
    if (array.length > 3){
      return "";
    }
    value = "#";
    for (var i = 0, color; color = array[i++];) {
      color = parseInt(color.replace(/[^\d]/gi, ''), 10).toString(16);
      value += color.length == 1 ? "0" + color : color;
    }
    value = value.toUpperCase();
  }
  return value;
}

js正则replace 还是好用的哈。

function test(){
  var str = "<color color_tag=\"#112233\">";//目标替换成 <color=#112233>
  str = str.replace(/ color_tag=\"(#.{6})\"/g,function(){
    return "="+arguments[1];
  })
  console.log(str);
}

总结

以上所述是小编给大家介绍的javacript replace 正则取字符串中的值并替换,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • js replace()去除代码中空格的实例

    实例如下: $("#stream_title").val().trim().replace(/\s/g,""); trim去首尾的 .replace(/\s/g,"") 去中间的 其中   /          /g                           是用来包含前面的, \s   则是匹配任何空白字符,包括空格.制表符.换页符等等. 以上这篇js replace()去除代码中空格的实例就是小编分享给大家的全部内容了,希望能给大家

  • 使用JS中的Replace()方法遇到的问题小结

    今天在写pc客户端自动化打包脚本的时候遇到遇到了几个问题,虽然是小问题,但是也卡了一段时间,所以决定记录一下. js的replace()方法是用于替换某些内容,它可以接收两个参数,第一个是一个被替换的正则表达式对象或者一个字符串,第二个可以是将要替换成的内容或者函数,将要替换成的内容须是一个字符串.我在执行的时候遇到的报错是:Cannot read property 'replace' of undefined.具体代码如下: var fs=require("fs") var info

  • JS不用正则验证输入的字符串是否为空(包含空格)的实现代码

    在项目中需要验证输入的字符串是否为空,包括空格,不太喜欢使用正则,所以就想到了js的indexOf函数,indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置,如果要检索的字符串值没有出现,则该方法返回 -1. 语法:stringObject.indexOf(searchvalue,fromindex),searchvalue必需,fromindex:可选参数,在字符串中开始检索的位置.它的合法取值是 0 到 stringObject.length - 1.如省略该参数,则将从

  • js replace(a,b)之替换字符串中所有指定字符的方法

    如下所示: var str = 'abcadeacf'; var str1 = str.replace('a', 'o'); alert(str1); // 打印结果: obcadeacf var str2 = str.replace(/a/g, 'o'); alert(str2); //打印结果: obcodeocf, 注意: 此处replace的第一个参数为正则表达式,/g是全文匹配标识. 以上这篇js replace(a,b)之替换字符串中所有指定字符的方法就是小编分享给大家的全部内容了,

  • JavaScript正则方法replace实现搜索关键字高亮显示

    前言 正则表达式是字符串处理工具中强有力的工具.也有人认为这只是一个小玩具,但不管怎么说都离不开它. 这里介绍的是JavaScript的正则表达式的replace方法 ,和实现搜索关键字高亮的功能. 先介绍一下正则表达式的replace方法 replace介绍 w3school原文链接介绍 正则表达式如何使用特殊字符$来表示原来的文本,这是实现搜索高亮的关键, var str = "asad sad 123 sd qwe21"; str.replace(/\d+/img,"数

  • JS正则表达式提取字符串中所有汉字的脚本

    在网上发现有人用vbscript正则表达式实现了这个功能,但代码很厂,偶改成js的了,很短的一段代码: var str="怎样从一个Html页面中提取所有汉字呢?不能有其它Html代码."; alert(str.replace(/[^\u4e00-\u9fa5]/gi,"")); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 这里的关键是汉字escape后的编码范围是\u4e00-\u9fa5,知道这个问题就好解决了.

  • JS判断输入的字符串是否是数字的方法(正则表达式)

    实例如下: if (!checkNumber(gopage_val)) { alert("请输入正确页数(数字)"); return false; } //验证字符串是否是数字 function checkNumber(theObj) { var reg = /^[0-9]+.?[0-9]*$/; if (reg.test(theObj)) { return true; } return false; } 以上这篇JS判断输入的字符串是否是数字的方法(正则表达式)就是小编分享给大家的全

  • JS正则截取两个字符串之间及字符串前后内容的方法

    本文实例讲述了JS正则截取两个字符串之间及字符串前后内容的方法.分享给大家供大家参考,具体如下: 1.js截取两个字符串之间的内容: var str = "aaabbbcccdddeeefff"; str = str.match(/aaa(\S*)fff/)[1]; alert(str);//结果bbbcccdddeee 2.js截取某个字符串前面的内容: var str = "aaabbbcccdddeeefff"; tr = str.match(/(\S*)ff

  • js正则表达式校验指定字符串的方法

    最新一个小表单验证需求:"只能输入汉字,并且必须包含"支行","分行","银行","信用社""字样,需用正则表达式校验 故写出了如下的表达式 var patt1=new RegExp(/^[\u0391-\uFFE5]*(([\u652f]{1}[\u884c]{1})|([\u5206]{1}[\u884c]{1})|([\u94f6]{1}[\u884c]{1})|([\u4fe1]{1}[\u7528

  • js使用Replace结合正则替换重复出现的字符串功能示例

    本文实例讲述了js使用Replace结合正则替换重复出现的字符串功能.分享给大家供大家参考,具体如下: 今天想把网站上关于用户搜索资料后的结果列表进行处理,如同百度搜索一样,加入我搜索框中输入"我要日日发网络",点击搜索按钮所得的结果列表中将会出现"我要日日发网络"字符串为红色. 我今天想到用js来进行处理,就是利用js内的replace函数对结果列表内的字符串进行指定字符串的替换工作,开始我是这样写的 <script type="text/Java

  • JS正则表达式获取字符串中特定字符的方法

    实现的效果:在字符串中abcdefgname='test'sddfhskshjsfsjdfps中获取name的值test 实现的机制:通过replace的回调函数获取. 代码: 复制代码 代码如下: var str = "abcdefgname='test'sddfhskshjsfsjdfps"; var reg = /name='((\w|-|\s)+)/ig; str.replace(reg, function() { console.log(arguments.length);

随机推荐