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 学习之二 属性相关
Nov 23 Javascript
jquery获取一组checkbox的值(实例代码)
Nov 04 Javascript
嵌入式iframe子页面与父页面js通信的方法
Jan 20 Javascript
js控制按钮,防止频繁点击响应的实例
Feb 15 Javascript
JavaScript 实现 Tab 点击切换实例代码
Mar 25 Javascript
Vue项目中引入外部文件的方法(css、js、less)
Jul 24 Javascript
jQuery模拟爆炸倒计时功能实例代码
Aug 21 jQuery
vue-music关于Player播放器组件详解
Nov 28 Javascript
详解vue移动端项目的适配(以mint-ui为例)
Aug 17 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
Nov 05 Javascript
Angular 2使用路由自定义弹出组件toast操作示例
May 10 Javascript
原生js+ajax分页组件
Jan 30 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获取中英混合字符串长度的方法
2014/06/07 PHP
php编写的抽奖程序中奖概率算法
2015/05/14 PHP
php无序树实现方法
2015/07/28 PHP
JavaScript的作用域和块级作用域概念理解
2014/09/21 Javascript
jQuery+jRange实现滑动选取数值范围特效
2015/03/14 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
学习JavaScript设计模式之享元模式
2016/01/18 Javascript
基于javascript实现图片切换效果
2016/04/17 Javascript
node.js中 stream使用教程
2016/08/28 Javascript
微信js-sdk分享功能接口常用逻辑封装示例
2016/10/13 Javascript
给easyui datebox扩展一个清空的实例
2016/11/09 Javascript
javascript 中的try catch应用总结
2017/04/01 Javascript
js+html制作简单日历的方法
2017/06/27 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
详解从零搭建 vue2 vue-router2 webpack3 工程
2017/11/22 Javascript
jQuery实现checkbox全选功能完整实例
2018/07/12 jQuery
使用JS实现导航切换时高亮显示的示例讲解
2018/08/22 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
微信小程序HTTP接口请求封装代码实例
2019/09/05 Javascript
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
Python批量查询域名是否被注册过
2017/06/21 Python
使用Python的turtle模块画图的方法
2017/11/15 Python
Python实现PS滤镜功能之波浪特效示例
2018/01/26 Python
Pandas之ReIndex重新索引的实现
2019/06/25 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
解决Django migrate不能发现app.models的表问题
2019/08/31 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
Python统计时间内的并发数代码实例
2019/12/28 Python
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
2013/01/30 HTML / CSS
德国家具折扣店:POCO
2020/02/28 全球购物
低碳环保口号
2014/06/12 职场文书
小学向国旗敬礼活动方案
2014/09/27 职场文书
民政局办理协议离婚(范本)
2014/10/25 职场文书
Mysql Show Profile
2021/04/05 MySQL
关于antd tree 和父子组件之间的传值问题(react 总结)
2021/06/02 Javascript