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 相关文章推荐
利用js获取服务器时间的两个简单方法
Jan 08 Javascript
jQuery常用且重要方法汇总
Jul 13 Javascript
javascript实现网页端解压并查看zip文件
Dec 15 Javascript
Node.js connect ECONNREFUSED错误解决办法
Sep 15 Javascript
jQuery.parseHTML() 函数详解
Jan 09 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
Aug 17 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
Sep 02 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
Sep 26 Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
Jul 31 Javascript
使用vue实现通过变量动态拼接url
Jul 22 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
Dec 02 Vue.js
vue+elementui通用弹窗的实现(新增+编辑)
Jan 07 Vue.js
不使用浏览器运行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 金额数字转换成英文
2010/05/06 PHP
PHP PDO fetch 模式各种参数的输出结果一览
2015/01/07 PHP
php项目中百度 UEditor 简单安装调试和调用
2015/07/15 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
JQuery Dialog(JS 模态窗口,可拖拽的DIV)
2010/02/07 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
JavaScript文本框脚本编写的注意事项
2016/01/25 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
2016/06/07 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
JavaScript中关于iframe滚动条的去除和保留
2016/11/17 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
Bootstrap php制作动态分页标签
2016/12/23 Javascript
JS使用插件cryptojs进行加密解密数据实例
2017/05/11 Javascript
为你的微信小程序体积瘦身详解
2017/05/20 Javascript
了解ESlint和其相关操作小结
2018/05/21 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
Vue-cli3生成的Vue项目加载Mxgraph方法示例
2020/05/31 Javascript
[54:56]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第三局
2016/03/06 DOTA
[45:32]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python单例模式的两种实现方法
2017/08/14 Python
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
2017/08/18 Python
利用Python批量提取Win10锁屏壁纸实战教程
2018/03/27 Python
python list转矩阵的实例讲解
2018/08/04 Python
Zavvi西班牙:电子游戏、极客服装、Blu-ray、Funko Pop等
2019/05/03 全球购物
美国体育用品商店:Academy Sports + Outdoors
2020/01/04 全球购物
商务日语专业毕业生求职信
2013/10/26 职场文书
研究生求职推荐信范文
2013/11/30 职场文书
企业项目策划书
2014/01/11 职场文书
运动会稿件300字
2014/02/14 职场文书
中学团支部工作总结
2015/08/13 职场文书
2019最新校园运动会广播稿!
2019/06/28 职场文书
新手,如何业余时间安排好写作、提高写作能力?
2019/10/21 职场文书
Sleuth+logback 设置traceid 及自定义信息方式
2021/07/26 Java/Android
mysql事务对效率的影响分析总结
2021/10/24 MySQL
Vue组件化(ref,props, mixin,.插件)详解
2022/05/15 Vue.js