JS实现文本中查找并替换字符
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="替换后字符"/>
<input type="button" id="btnFind" value="替换"/> <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实现文本中查找并替换字符的更多相关文章
- C# 在word中查找及替换文本
C# 在word中查找及替换文本 在处理word文档时,很多人都会用到查找和替换功能.尤其是在处理庞大的word文档的时候,Microsoft word的查找替换功能就变得尤为重要,它不仅能让我们轻易 ...
- 【python cookbook】【字符串与文本】6.以不区分大小写的方式对文本做查找和替换
问题:以不区分大小写的方式对文本做查找和替换 解决方法:使用re模块,并对各种操作都添加上re.IGNORECASE标记 text='UPPER PYTHON,lower python,Mixed P ...
- Linux中在vim/vi模式下对文本的查找和替换
查找: 1.vim filename 进入一般模式下 2.查找和替换方法 /word 向下查找word 的字符串 例如 /chengtingting 向下查找字符chengtingt ...
- C# 在excel中查找及替换数据
在使用Excel处理数据时,有时候工作表内容很多,如果手动地一行一行的找数据很难发现它们在哪个地方.微软Excel给我们提供了一个很强大的数据处理功能-查找和替换,通过这个功能,我们可以快速地找到想要 ...
- [LeetCode] Find And Replace in String 在字符串中查找和替换
To some string S, we will perform some replacement operations that replace groups of letters with ne ...
- [转]grep 在文本中查找内容
转自: http://www.lampweb.org/linux/3/27.html 功能:grep系列是Linux中使用频率最高的文本查找命令.主要功能在一个或者多个文件中查找特定模式的字符串.如果 ...
- 使用SQL除掉文本中特殊的ascll字符比如Enter,Tab,空格键
一.在SQL查询的字段中如果包含tab.enter.空格键,可以使用ascii码进行替换: --替换了文本中含有tab键,Enter键,空格键的ascii码 select REPLACE(REPLAC ...
- Sublime 、NotePad++中查找匹配中文字符
在Sublime .NotePad++中可以使用正则表达式 [\x{4e00}-\x{9fa5}] 查找匹配中文字符.
- 在LoadRunner中查找和替换字符串
参考<Search & Replace function for LoadRunner>: http://ptfrontline.wordpress.com/2009/03/13/ ...
随机推荐
- SQLSERVER 查看操作系统内存
1. 通过系统试图查看内存信息 SELECT total_physical_memory_kb / AS [物理内存(MB)] , available_physical_memory_kb / AS ...
- python学习:python的星号(*)和双星号(**)用法
原帖地址见:[Python]-12-星号变量的特殊用法 在Python中,星号除了用于乘法数值运算和幂运算外,还有一种特殊的用法"在变量前添加单个星号或两个星号",实现多参数的传入 ...
- ES6学习笔记(二):引用数据类型
Array 新增方法 1.Array.from() 将类数组(dom对象 或 arguments)或set\map对象转换为数组 2.Array.of() 将一组值转换为数组,例如Array.of(3 ...
- WP-PostViews使用
1.在后台安装次插件 2.获取多少天之内的访问排名最高的记录 2.1 添加相应方法代码到wp-postviews.php文件中,据体代码可以网上找(本人自己可以在自己本机的例子查看到),这里只是记录大 ...
- BZOJ2721 Violet5樱花(数论)
有(x+y)n!=xy.套路地提出x和y的gcd,设为d,令ad=x,bd=y.则有(a+b)n!=abd.此时d已是和a.b无关的量.由a与b互质,得a+b与ab互质,于是将a+b除过来得n!=ab ...
- 【刷题】BZOJ 3745 [Coci2015]Norma
Description Input 第1行,一个整数N: 第2~n+1行,每行一个整数表示序列a. Output 输出答案对10^9取模后的结果. Sample Input 4 2 4 1 4 Sam ...
- java同步代码(synchronized)中使用BlockingQueue
说起BlockingQueue,大家最熟悉的就是生产者-消费者模式下的应用.但是如果在调用queue的上层代码加了同步块就会导致线程死锁. 例如: static BlockingQueue<St ...
- Access与SQL Server 语法差异
序号 简述 Access语法 SqlServer语法 Oracle语法 解决方案 01 系统时间 Now(),Date() GETDATE() SYSDATE GetSysTimeStr 02 连接字 ...
- 多线程-----java基础知识总结
一,关于线程的总体流程,如下图所示: 二,线程的常用方法:
- python BitTornado P2P分发大文件
P2P分发大文件思路 1.将软件包生成种子文件 2.通过saltstack将种子文件分发至每台服务器 3.每台服务器进行种子下载 推荐使用Twitter开源的murder.Twitter用它来分发大文 ...