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 相关文章推荐
在IE浏览器中resize事件执行多次的解决方法
Jul 12 Javascript
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
May 07 Javascript
JAVASCRIPT模式窗口中下载文件无法接收iframe的流
Oct 11 Javascript
基于jQuery的图片不完全按比例自动缩小
Jul 11 Javascript
两种JS实现屏蔽鼠标右键的方法
Aug 20 Javascript
JavaScript File API实现文件上传预览
Feb 02 Javascript
微信小程序 loading 详解及实例代码
Nov 09 Javascript
在vue项目中,使用axios跨域处理
Mar 07 Javascript
ES6 系列之 WeakMap的使用示例
Aug 06 Javascript
JavaScript类的继承操作实例总结
Dec 20 Javascript
深入理解es6块级作用域的使用
Mar 28 Javascript
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
Sep 25 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
一些操作和快捷键的理解和讨论
2020/03/04 星际争霸
目录,文件操作详谈―PHP
2006/11/25 PHP
PHP中使用CURL伪造来路抓取页面或文件
2011/05/04 PHP
PHP操作mysql数据库分表的方法
2016/06/09 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
Laravel5.1框架注册中间件的三种场景详解
2019/07/09 PHP
Laravel框架中集成MongoDB和使用详解
2019/10/17 PHP
javascript据option的value值快速设定初始的selected选项
2007/08/13 Javascript
js TextArea的选中区域处理
2010/12/28 Javascript
JavaScript原型继承之基础机制分析
2011/08/26 Javascript
js预载入和JavaScript Image()对象使用介绍
2011/08/28 Javascript
js 金额格式化来回转换示例
2014/02/23 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
jQuery使用fadein方法实现渐出效果实例
2015/03/27 Javascript
AngularJS身份验证的方法
2016/02/17 Javascript
详解jQuery中的empty、remove和detach
2016/04/11 Javascript
使用jQuery中的wrap()函数操作HTML元素的教程
2016/05/24 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
jQuery.parseHTML() 函数详解
2017/01/09 Javascript
浅析Angular2子模块以及异步加载
2017/04/24 Javascript
Vue filter介绍及其使用详解
2017/10/21 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
vue的滚动条插件实现代码
2019/09/07 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
python实现机械分词之逆向最大匹配算法代码示例
2017/12/13 Python
django中ORM模型常用的字段的使用方法
2019/03/05 Python
keras中epoch,batch,loss,val_loss用法说明
2020/07/02 Python
支持IE8的纯css3开发的响应式设计动画菜单教程
2014/11/05 HTML / CSS
美国领先的男士和女士内衣购物网站:Freshpair
2019/02/25 全球购物
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
如何转换一个字符串到enum值
2014/04/12 面试题
高中生操行评语
2014/04/25 职场文书
文员试用期转正自我鉴定
2014/09/14 职场文书
2015年班级元旦晚会活动总结
2014/11/28 职场文书
实习单位推荐信
2015/03/27 职场文书
警示教育片观后感
2015/06/17 职场文书