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 前台切换网站的样式实现
Jun 22 Javascript
jQuery 入门级学习笔记及源码
Jan 22 Javascript
JS获取元素多层嵌套思路详解
May 16 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
May 28 Javascript
禁用backspace网页回退功能的实现代码
Nov 15 Javascript
Angular2 Service实现简单音乐播放器服务
Feb 24 Javascript
node thread.sleep实现示例
Jun 20 Javascript
Vue点击切换颜色的方法
Sep 13 Javascript
Vue 权限控制的两种方法(路由验证)
Aug 16 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
Mar 07 Javascript
vue el-upload上传文件的示例代码
Dec 21 Vue.js
浅谈react路由传参的几种方式
Mar 23 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模块memcached使用指南
2014/12/08 PHP
PHP实现XML与数据格式进行转换类实例
2015/07/29 PHP
如何通过Linux命令行使用和运行PHP脚本
2015/07/29 PHP
form自动提交实例讲解
2017/07/10 PHP
实用的Jquery选项卡TAB示例代码
2013/08/28 Javascript
Node.js实现Excel转JSON
2015/04/24 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
2015/10/08 Javascript
JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
2016/03/25 Javascript
如何高效率去掉js数组中的重复项
2016/04/12 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
2016/06/14 Javascript
总结Javascript中的隐式类型转换
2016/08/24 Javascript
学习Node.js模块机制
2016/10/17 Javascript
bootstrap实现图片自动轮播
2016/12/21 Javascript
JS实现颜色动态淡化效果
2017/03/06 Javascript
js实现百度登录框鼠标拖拽效果
2017/03/07 Javascript
微信小程序 蓝牙的实现实例代码
2017/06/27 Javascript
浅谈小程序 setData学问多
2019/02/20 Javascript
node express使用HTML模板的方法示例
2019/08/22 Javascript
[05:20]2018DOTA2亚洲邀请赛主赛事第三日战况回顾 LGD率先挺进胜者组决赛
2018/04/06 DOTA
Python OpenCV实现图片上输出中文
2018/01/22 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
python面试题之列表声明实例分析
2019/07/08 Python
Python学习笔记之错误和异常及访问错误消息详解
2019/08/08 Python
Python中pass的作用与使用教程
2020/11/13 Python
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
2013/01/09 HTML / CSS
美体小铺美国官网:The Body Shop美国
2017/11/10 全球购物
如何写你的创业计划书
2014/01/07 职场文书
中国梦的演讲稿
2014/01/08 职场文书
文明和谐家庭事迹材料
2014/05/18 职场文书
天猫活动策划方案
2014/08/21 职场文书
个人职业及收入证明
2014/10/13 职场文书
2015年公务员工作总结
2015/04/24 职场文书
让子弹飞观后感
2015/06/11 职场文书
八年级语文教学反思
2016/03/03 职场文书
pytorch Dropout过拟合的操作
2021/05/27 Python
SQLServer权限之只开启创建表权限
2022/04/12 SQL Server