欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用jq 简单实现 文字内容,批量多重替换功能

程序员文章站 2022-05-26 09:27:01
...

主要是因为 我本人工作中需要 将 一些文字内容 批量或者多重替换 ,然后 提交到 SVN上面。

也就是 所谓的 代码  改动登记了。 因为代码登记有它的 格式, 所以需要 多重批量 替换文字的功能。

一般的电脑的 或者其他的编辑器,都是 单个批量替换内容的, 我要多重替换就得 多重操作替换多次。。。

这样效率太低了。。。

当然 网上也有一些小工具比如 TextReplace_v1.8 

这些 百度肯定可以出来。 

可是呢 我用了一些感觉挺麻烦的,而且还得 一直打开它,否则每次打开就得加入我需要批量多重替换的 字典文件。。。感觉不够轻,太重了。一些功能我并不需要。

再说了 谁知道有没有病毒? 怎么放心?

网上也找过了,,,居然没有 类似这样的 网站上面没有找到 这样的功能。

估计 不好实现。而且也不好 保存用户的 替换 字典内容吧。

 

实现的方式

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>格式化SVN提交登记内容</title>
   
   <!-- <script src="jquery-1.8.3.min.js" type="text/javascript"></script>-->
   <script src="http://libs.baidu.com/jquery/1.8.3/jquery.min.js"></script>
   
   
   <style type="text/css">
   	  #find_r li input{
   	  	width: 350px;
   	  	 border:1px  solid #ccc;
    border-radius: 4px;  //圆角效果
    height: 24px;
    line-height:24px;  /垂直居中
   	  }
   	  
   	  
   	  
   </style>
</head>
<body>
   <div id="" style="width: 1200px;margin: 0 auto;">
   	
   		<div id="">
   			<ol id="find_r">
   				<li>
   					<span>查找的内容: </span> <input type="text"  id="find1" value=".java" />
   					<span> 替换的内容: </span> <input type="text"  id="r1" value=".class" />
   				</li>
   				<li>
   					<span>查找的内容: </span> <input type="text"  id="find2" value="D:\SVN\rpd-mall\branches\1.3.3\rpd-mall\src\" />
   					<span> 替换的内容: </span> <input type="text"  id="r2" value="\WEB-INF\classes\" />
   				</li>
   				<li>
   					<span>查找的内容: </span> <input type="text"  id="find3" value="/" />
   					<span> 替换的内容: </span> <input type="text"  id="r3" value="\" />
   				</li>
   				<li>
   					<span>查找的内容: </span> <input type="text"  id="find4" value="D:\SVN\rpd-mall\branches\1.3.3\rpd-mall\WebRoot" />
   					<span> 替换的内容: </span> <input type="text"  id="r4" value="" />
   				</li>
   				<li>
   					<span>查找的内容: </span> <input type="text"  id="find5" value="" />
   					<span> 替换的内容: </span> <input type="text"  id="r5" value="" />
   				</li>
   				<li>
   					<span>查找的内容: </span> <input type="text"   value="" />
   					<span> 替换的内容: </span> <input type="text"   value="" />
   				</li>
   				<li>
   					<span>查找的内容: </span> <input type="text"   value="" />
   					<span> 替换的内容: </span> <input type="text"   value="" />
   				</li>
   				<li>
   					<span>查找的内容: </span> <input type="text"   value="" />
   					<span> 替换的内容: </span> <input type="text"   value="" />
   				</li>
   			</ol>
   			
   			<div id="">
   				<input type="button" id="add" value="新增自定义查找替换" />
   			</div>
   		</div>
   	
   		<div id="" style=" margin-top: 30px;">
   			<div id="">
   				需要格式化的内容:
   			</div>
   			<textarea id="formate_before" name="" rows="20" style="width: 1000px;"></textarea>
   		</div>
   		
   		<div id="">
   			<input type="button" id="exec" value="执行格式化" />
   		</div>
   		
   		<div id="" style=" margin-top: 30px;">
   			<div id="">
   				格式化的内容:
   			</div>
   			<textarea id="formate_after" name="" rows="20" style="width: 1000px;"></textarea>
   		</div>
   	
   </div>
</body>

<script>
	jQuery(document).ready(function(){
		
		$("#exec").click(function(){
			var formate_before=$("#formate_before").val();
			
			//var n=(formate_before.split('\n')).length-1;
			//console.log("换行符出现的次数>>>"+n);
			var nCount=(formate_before.split('\n')).length;
			
			$("#find_r li").each(function(){
				
				
				var findInput = $(this).find("input").eq(0);
				var rInput = $(this).find("input").eq(1);
				
				if(findInput.val()==""){
					return true;
				}
				
				// 达到全局替换的目的, 或者通过 比较替换前的内容和替换后的内容是否相同,相同就表示 全局替换完成,否则就要继续
				for (var i = 0; i <= nCount; i++) {
        			formate_before = formate_before.replace(findInput.val(),rInput.val());
    			}

				
				
			});
			
			$("#formate_after").val(formate_before);
			
		});
		
	});	
	
</script>

</html>

 

 

 

 

 

 

 

 

 

总结

 

其实这个只是很简单,满足我的需求而已,如果需要更强大的,可以加上  正则匹配替换。

等, 用户的 替换字典可以想办法保存下来,可以保存在 cookie 里面或者想其他办法。

其实我随便写这个小功能, 也花了一点时间。 

我们 码农学了 技术,就要想办法 使用它, 首先要 能够满足自己,帮助自己提高 工作的效率。

而不是 只以为学了 技术就是  为了 工作, 复制粘贴, 增删查改。

 

 

 

 

 

 

 

转载于:https://my.oschina.net/ouminzy/blog/1833895