JavaScript字符串插入、删除、替换函数的例子

来源:互联网 发布:js array item 编辑:程序博客网 时间:2024/06/07 02:05
分享下JavaScript字符串的插入、删除、替换函数的几个例子。

说明: 
以下函数中前两个函数取出查找字符串的前一部分和后一部分,以用于其他函数。

注意,调用一次 replaceString(mainStr,searchStr,replaceStr) 函数,只能将字符串 mainStr 中最先找到的一个 searchStr 字符串替换为 replaceStr 字符串,并不能将字符串 mainStr 中所有的 searchStr 字符串替换为 replaceStr 字符串,如果需要替换全部,则需要使用循环。 

实现的函数源代码,如下:

<?php//提取查找字符串前面所有的字符  function getFront(mainStr,searchStr){ foundOffset=mainStr.indexOf(searchStr); if(foundOffset==-1){ return null; } return mainStr.substring(0,foundOffset); } //提取查找字符串后面的所有字符 function getEnd(mainStr,searchStr){ foundOffset=mainStr.indexOf(searchStr); if(foundOffset==-1){ return null; } return mainStr.substring(foundOffset+searchStr.length,mainStr.length); } //在字符串 searchStr 前面插入字符串 insertStr function insertString(mainStr,searchStr,insertStr){ var front=getFront(mainStr,searchStr); var end=getEnd(mainStr,searchStr); if(front!=null && end!=null){ return front+insertStr+searchStr+end; } return null; } //删除字符串 deleteStr function deleteString(mainStr,deleteStr){ return replaceString(mainStr,deleteStr,""); } //将字符串 searchStr 修改为 replaceStr function replaceString(mainStr,searchStr,replaceStr){ var front=getFront(mainStr,searchStr); var end=getEnd(mainStr,searchStr); if(front!=null && end!=null){ return front+replaceStr+end; } return null; } //by www.jbxue.com?>

使用示例: 

假设有一表单,用于接收用户的留言信息。我们需要将留言内容中用户输入的回车换行替换为 HTML 标签 <br>,同时还需要将空格符替换为  ,这样在显示留言信息的时候就能按用户输入的原格式进行显示了。 
html文件如下: 
<html> <head> <script language="javaScript"> //此处由以上提供的脚本函数源码填充,即getFront、getEnd、replaceString //[、insertString、deleteString]。 //表单检测函数 function checkForm(form){ var gb_contentStr=form.elements["gb_content"].value; //将留言内容中的所有空格符替换为   while(gb_contentStr.indexOf(" ") != -1 ){ gb_contentStr=replaceString(gb_contentStr," "," "); } //将留言内容中的所有回车符替换为<br> while(gb_contentStr.indexOf("\r\n") != -1 ){ gb_contentStr=replaceString(gb_contentStr,"\r\n","<br>"); } form.elements["gb_content"].value=gb_contentStr; //保存由以上脚本修改后的留言内容 return true; //提交留言信息 } </script><title>字符串增加、删除、替换操作--www.jbxue.com</title> </head> <body> <form action="writePro.asp" method="post" name="addliuyan" onSubmit="return checkForm(this)"> <table width="50%" border="1" cellspacing="0" cellpadding="0" align="center"> <tr valign="middle"> <td width="15%" height="25" align="right">留言内容:</td> <td width="35%" height="25" align="center"> <textarea style="overflow: auto; width: 100%;" name="gb_content" rows="11"></textarea> </td> </tr> </table> </form> </body> </html> 


原创粉丝点击