JS实现文本中查找并替换字符

效果图:

代码如下,复制即可使用:

<!DOCTYPE html>
<html>
<head>
  <style type="text/css">
    *{font-family:"微软雅黑";font-size:16px;margin:0;padding:0;letter-spacing:3px;line-height:22px;}
    #wrap{width:500px;height:300px;margin:20px auto;position:relative;}
    #text{width:500px;height:300px;border:1px solid green;}
    #result{width:500px;position:absolute;left:0px;top:0px;display:none;}
    input{width:100px;height:40px;margin-top:5px;}
    span{background-color:yellow;}
  </style>
</head>
<body>
  <div id="wrap">
    <div id="result"></div>
    <textarea id="text" placeholder="请在此输入文本。。。。"></textarea>
    <input type="text" id="val" placeholder="被查找字符"/>——<input type="text" id="new_val" placeholder="替换后字符"/>&nbsp;&nbsp;&nbsp;
    <input type="button" id="btnFind" value="替换"/>&nbsp;&nbsp;&nbsp;<input type="button" value="重置" id="reset"/>
  </div>
  <script type="text/javascript">   function replace(){
  var inner=null;
  var txt=document.getElementById('text').value.toString();
   var val=document.getElementById('val').value.toString();
   var newVal=document.getElementById('new_val').value.toString();
  newInner="<span>"+newVal+"</span>";
   for(var i=0;i<=txt.length-val.length;i++){
   if(txt==""||val=="") {
   alert("请输入内容!");
   return false;
   }
   if(txt.length<val.length) {
   return false;
   }
  if(i+val.length>=txt.length){
   if(txt.substring(i)==val){
   inner=txt.split('');
   inner.splice(i,val.length,newInner);
   txt=inner.join("");
   i=i+newInner.length-1;
   }    }
   else {
  if(txt.substring(i,i+val.length)==val) {
   inner=txt.split('');
   inner.splice(i,val.length,newInner);
   txt=inner.join("");
   i=i+newInner.length-1;
   }
  }
   }
   document.getElementById("result").innerHTML=txt;
  document.getElementById("text").value=null;
   document.getElementById("text").placeholder="";
   document.getElementById("result").style.display="block";
  }   document.getElementById('btnFind').onclick=function(){
  replace();
  }
  document.getElementById('reset').onclick=function(){
   document.getElementById("result").style.display="none";
  document.getElementById("val").value=null;
  document.getElementById("new_val").value=null;
   document.getElementById("text").placeholder="请在此输入文本。。。。";   }   </script>
</div>
</body>
</html>

如有错误,欢迎联系我改正,非常感谢!!!

JS实现文本中查找并替换字符的更多相关文章

  1. C# 在word中查找及替换文本

    C# 在word中查找及替换文本 在处理word文档时,很多人都会用到查找和替换功能.尤其是在处理庞大的word文档的时候,Microsoft word的查找替换功能就变得尤为重要,它不仅能让我们轻易 ...

  2. 【python cookbook】【字符串与文本】6.以不区分大小写的方式对文本做查找和替换

    问题:以不区分大小写的方式对文本做查找和替换 解决方法:使用re模块,并对各种操作都添加上re.IGNORECASE标记 text='UPPER PYTHON,lower python,Mixed P ...

  3. Linux中在vim/vi模式下对文本的查找和替换

    查找: 1.vim  filename  进入一般模式下 2.查找和替换方法 /word    向下查找word 的字符串  例如  /chengtingting   向下查找字符chengtingt ...

  4. C# 在excel中查找及替换数据

    在使用Excel处理数据时,有时候工作表内容很多,如果手动地一行一行的找数据很难发现它们在哪个地方.微软Excel给我们提供了一个很强大的数据处理功能-查找和替换,通过这个功能,我们可以快速地找到想要 ...

  5. [LeetCode] Find And Replace in String 在字符串中查找和替换

    To some string S, we will perform some replacement operations that replace groups of letters with ne ...

  6. [转]grep 在文本中查找内容

    转自: http://www.lampweb.org/linux/3/27.html 功能:grep系列是Linux中使用频率最高的文本查找命令.主要功能在一个或者多个文件中查找特定模式的字符串.如果 ...

  7. 使用SQL除掉文本中特殊的ascll字符比如Enter,Tab,空格键

    一.在SQL查询的字段中如果包含tab.enter.空格键,可以使用ascii码进行替换: --替换了文本中含有tab键,Enter键,空格键的ascii码 select REPLACE(REPLAC ...

  8. Sublime 、NotePad++中查找匹配中文字符

    在Sublime .NotePad++中可以使用正则表达式 [\x{4e00}-\x{9fa5}] 查找匹配中文字符.

  9. 在LoadRunner中查找和替换字符串

    参考<Search & Replace function for LoadRunner>: http://ptfrontline.wordpress.com/2009/03/13/ ...

随机推荐

  1. WP-PostViews使用

    1.在后台安装次插件 2.获取多少天之内的访问排名最高的记录 2.1 添加相应方法代码到wp-postviews.php文件中,据体代码可以网上找(本人自己可以在自己本机的例子查看到),这里只是记录大 ...

  2. java 栈和堆

  3. java 重载 : 1.参数个数不同,2.参数类型不同

    参数个数相同时,参数类型需要不同,即使是不同变量名也不行.和是和变量的个数或者是变量的类型有关系  如果相同的话是覆盖 会报错 重载(overloading) 是在一个类里面,方法名字相同,而参数不同 ...

  4. poj2082 Terrible Sets(单调栈)

    Description Let N be the set of all natural numbers {0 , 1 , 2 , . . . }, and R be the set of all re ...

  5. kubeadm安装部署kubernetes 1.11.3(单主节点)

    由于此处docker代理无法使用,因此,请各位设置有效代理进行部署,勿使用文档中的docker代理.整体部署步骤不用改动.谢谢各位支持. 1.部署背景 操作系统版本:CentOS Linux rele ...

  6. python_面向对象小试题

    打印啥? class Animal(object): hobby = "eat" def run(self): print(self.hobby) return self.hobb ...

  7. MT【202】内准圆

    双曲线$\dfrac{x^2}{4}-\dfrac{y^2}{12}=1$ 的右焦点为 F,左准线为 L. 椭圆C 以F和L为其的焦点及准线,过F作一条斜率为 1 的直线交椭圆C于点A和B. 若椭圆C ...

  8. 洛谷P2542 [AHOI2005]航线规划(LCT,双连通分量,并查集)

    洛谷题目传送门 太弱了不会树剖,觉得LCT好写一些,就上LCT乱搞,当LCT维护双连通分量的练手题好了 正序删边是不好来维护连通性的,于是就像水管局长那样离线处理,逆序完成操作 显然,每个点可以代表一 ...

  9. WCF trace、log

    1. 打开wcf配置:   2. enable trace , log 可以改变log路径: 3. 用 SvcTraceViewer.exe (直接在c盘下搜索) 查看   4. 如果想自定义trac ...

  10. 「Django」contenttypes基本用法

    当一张表和多个表ForeignKey关联,并且多个FK中只能选择其中一个或其中n个时,可以利用contenttypes,只需定义三个字段就搞定! contenttypes 是Django内置的一个应用 ...