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 相关文章推荐
WEB高性能开发之疯狂的HTML压缩
Jun 19 Javascript
jquery.hotkeys监听键盘按下事件keydown插件
May 11 Javascript
window.location.reload 刷新使用分析(去对话框)
Nov 11 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
Jun 02 Javascript
原生js实现验证码功能
Mar 16 Javascript
Javascript中八种遍历方法的执行速度深度对比
Apr 25 Javascript
JS中LocalStorage与SessionStorage五种循序渐进的使用方法
Jul 12 Javascript
JS实现的简单四则运算计算器功能示例
Sep 27 Javascript
详解Vue用cmd创建项目
Feb 12 Javascript
JSON是什么?有哪些优点?JSON和XML的区别?
Apr 29 Javascript
用VsCode编辑TypeScript的实现方法
May 07 Javascript
Vue-CLI 3 scp2自动部署项目至服务器的方法
Jul 24 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 如何获取二维数组中某个key的集合
2014/06/03 PHP
PHP递归实现层级树状展开
2016/04/01 PHP
PHP数组遍历的几种常见方式总结
2019/02/15 PHP
TextArea不支持maxlength的解决办法(jquery)
2011/09/13 Javascript
JS中获取数据库中的值的方法
2013/07/14 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
2015/12/10 Javascript
理解Javascript的call、apply
2015/12/16 Javascript
jQuery中判断对象是否存在的方法汇总
2016/02/24 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
2016/06/07 Javascript
AngularJS 入门教程之HTML DOM实例详解
2016/07/28 Javascript
修改Jquery Dialog 位置的实现方法
2016/08/26 Javascript
js仿小米官网图片轮播特效
2016/09/29 Javascript
bootstrap下拉列表与输入框组结合的样式调整
2016/10/08 Javascript
jQuery插件imgAreaSelect基础讲解
2017/05/26 jQuery
webpack 1.x升级过程中的踩坑总结大全
2017/08/09 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
Vue2 添加数据可视化支持的方法步骤
2019/01/02 Javascript
React+TypeScript+webpack4多入口配置详解
2019/08/08 Javascript
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
Vuex,iView UI面包屑导航使用扩展详解
2019/11/04 Javascript
怎么理解wx.navigateTo的events参数使用详情
2020/05/18 Javascript
vue实现简单全选和反选功能
2020/09/15 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
windows系统下Python环境的搭建(Aptana Studio)
2017/03/06 Python
python实现ID3决策树算法
2017/12/20 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
2019/06/03 Python
Python基于OpenCV实现人脸检测并保存
2019/07/23 Python
基于django传递数据到后端的例子
2019/08/16 Python
python实现字典嵌套列表取值
2019/12/16 Python
社区志愿者活动总结
2014/06/26 职场文书
高中同学会活动方案
2014/08/14 职场文书
敬老月活动总结
2014/08/28 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
请病假条范文
2015/08/17 职场文书
Mysql分析设计表主键为何不用uuid
2022/03/31 MySQL