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

分享下JavaScript实现的几个字符串的插入、删除、替换函数。
说明:
以下函数中前两个函数取出查找字符串的前一部分和后一部分,以用于其他函数。
注意,调用一次 replaceString(mainStr,searchStr,replaceStr) 函数,只能将字符串 mainStr 中最先找到的一个 searchStr 字符串替换为 replaceStr 字符串,并不能将字符串 mainStr 中所有的 searchStr 字符串替换为 replaceStr 字符串,如果需要替换全部,则需要使用循环。

<script>
/**
* 字符串的插入、删除、替换
* by www.jbxue.com
*/
//提取查找字符串前面所有的字符 
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;
}
</script>

使用示例:

假设有一表单,用于接收用户的留言信息。我们需要将留言内容中用户输入的回车换行替换为 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; //提交留言信息
} //by www.jbxue.com
</script>
</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> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值