JavaScript字符串插入、删除、替换函数使用示例


Posted in Javascript onJuly 25, 2013

说明:

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

函数源码:
[code
//提取查找字符串前面所有的字符 
function getFront(mainStr,searchStr){
foundOffset=mainStr.indexOf(searchStr);
if(foundOffset==-1){
return null;
}
return mainStr.substring(0,foundOffset);
}
[/code]

//提取查找字符串后面的所有字符 
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; 
}

使用示例:
假设有一表单,用于接收用户的留言信息。我们需要将留言内容中用户输入的回车换行替换为 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> 
</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>
Javascript 相关文章推荐
jquery绑定原理 简单解析与实现代码分享
Sep 06 Javascript
JS关键字变色实现思路及代码
Feb 21 Javascript
node.js中的fs.appendFileSync方法使用说明
Dec 17 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
Feb 26 Javascript
jQuery插件开发汇总
May 15 Javascript
基于jQuery实现的打字机效果
Jan 16 Javascript
node通过npm写一个cli命令行工具
Oct 12 Javascript
vue脚手架中配置Sass的方法
Jan 04 Javascript
js经验分享 JavaScript反调试技巧
Mar 10 Javascript
微信小程序页面滚动到指定位置代码实例
Sep 07 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
Nov 13 Javascript
在vue中使用Echarts画曲线图的示例
Oct 03 Javascript
不使用浏览器运行javascript代码的方法
Jul 24 #Javascript
js展开闭合效果演示代码
Jul 24 #Javascript
火狐textarea输入法的bug的触发及解决
Jul 24 #Javascript
当前页禁止复制粘贴截屏代码小集
Jul 24 #Javascript
js实现倒计时(距离结束还有)示例代码
Jul 24 #Javascript
javascript中比较字符串是否相等的方法
Jul 23 #Javascript
js改变img标签的src属性在IE下没反应的解决方法
Jul 23 #Javascript
You might like
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
Javascript 跨域访问解决方案
2009/02/14 Javascript
javascript document.referrer 用法
2009/04/30 Javascript
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
javascript jscroll模拟html元素滚动条
2012/12/18 Javascript
鼠标拖动实现DIV排序示例代码
2013/10/14 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
2015/04/10 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
2017/02/20 Javascript
jQuery 开发之EasyUI 添加数据的实例
2017/09/26 jQuery
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
2017/10/24 Javascript
详解ES6系列之私有变量的实现
2018/11/21 Javascript
jquery层次选择器的介绍
2019/01/18 jQuery
JS中使用react-tooltip插件实现鼠标悬浮显示框
2019/05/15 Javascript
node学习笔记之读写文件与开启第一个web服务器操作示例
2019/05/29 Javascript
element-ui 本地化使用教程详解
2019/10/28 Javascript
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
python使用any判断一个对象是否为空的方法
2014/11/19 Python
Python实现PS图像抽象画风效果的方法
2018/01/23 Python
基于Python List的赋值方法
2018/06/23 Python
使用python脚本实现查询火车票工具
2018/07/19 Python
python 格式化输出百分号的方法
2019/01/20 Python
python logging 日志的级别调整方式
2020/02/21 Python
Python接收手机短信的代码整理
2020/08/02 Python
Python爬虫自动化爬取b站实时弹幕实例方法
2021/01/26 Python
英国最大的在线亚洲杂货店:Red Rickshaw
2020/03/22 全球购物
大学生职业生涯规划范文
2013/12/31 职场文书
学校周年庆活动方案
2014/08/22 职场文书
2014领导班子正风肃纪思想汇报
2014/09/18 职场文书
违反学校规则制度检讨书
2015/01/01 职场文书
2015年驾驶员工作总结
2015/04/29 职场文书
总经理2015中秋节致辞
2015/07/29 职场文书
导游词之湖北武当山
2019/09/23 职场文书
SpringRetry重试框架的具体使用
2021/07/25 Java/Android