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 EasyUI API 中文文档 - Calendar日历使用
Oct 19 Javascript
JavaScript实现GriwView单列全选(自写代码)
May 13 Javascript
jQuery学习笔记之jQuery原型属性和方法
Jun 09 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
Mar 22 Javascript
利用 spin.js 生成等待效果(js 等待效果)
Jun 25 Javascript
JS实现的走迷宫小游戏完整实例
Jul 19 Javascript
Angularjs的$http异步删除数据详解及实例
Jul 27 Javascript
JavaScript实现计数器基础方法
Oct 10 Javascript
详解Angular5 路由传参的3种方法
Apr 28 Javascript
深入koa-bodyparser原理解析
Jan 16 Javascript
探索JavaScript中私有成员的相关知识
Jun 13 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
Oct 26 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下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
2011/06/09 PHP
深入for,while,foreach遍历时间比较的详解
2013/06/08 PHP
asp批量修改记录的代码
2008/06/25 Javascript
jQuery Ajax文件上传(php)
2009/06/16 Javascript
前端开发必须知道的JS之原型和继承
2010/07/06 Javascript
那些年,我还在学习jquery 学习笔记
2012/03/05 Javascript
JavaScript通过RegExp实现客户端验证处理程序
2013/05/07 Javascript
Node.js中的模块机制学习笔记
2014/11/04 Javascript
javascript封装简单实现方法
2015/08/11 Javascript
使用BootStrap实现用户登录界面UI
2016/08/10 Javascript
JS实现图片局部放大或缩小的方法
2016/08/20 Javascript
jQuery查找节点方法完整实例
2016/09/13 Javascript
Vue.js实现简单动态数据处理
2017/02/13 Javascript
iscroll实现下拉刷新功能
2017/07/18 Javascript
Vue 仿QQ左滑删除组件功能
2018/03/12 Javascript
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
2019/08/23 Javascript
TypeScript之调用栈的实现
2019/12/31 Javascript
vue 保留两位小数 不能直接用toFixed(2) 的解决
2020/08/07 Javascript
JavaScript 判断数据类型的4种方法
2020/09/11 Javascript
完美解决python遍历删除字典里值为空的元素报错问题
2016/09/11 Python
Python数字图像处理之霍夫线变换实现详解
2018/01/12 Python
python中yaml配置文件模块的使用详解
2018/04/27 Python
python实现简单登陆系统
2018/10/18 Python
python+opencv边缘提取与各函数参数解析
2020/03/09 Python
Python3爬虫中Ajax的用法
2020/07/10 Python
英国最大的线上保健品零售商之一:Vitamin Planet
2016/12/01 全球购物
几道PHP面试题
2013/04/14 面试题
医药大学生求职简历的自我评价
2013/10/17 职场文书
一夜的工作教学反思
2014/02/08 职场文书
小学二年级评语
2014/04/21 职场文书
学校消防安全责任书
2014/07/23 职场文书
产品质量保证书范本
2015/02/27 职场文书
关于调整工作时间的通知
2015/04/24 职场文书
单位工资证明范本
2015/06/12 职场文书
大学校园餐饮创业计划书
2019/08/07 职场文书