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 相关文章推荐
学习ExtJS table布局
Oct 08 Javascript
JavaScript访问样式表代码
Oct 15 Javascript
jQuery列表拖动排列具体实现
Nov 04 Javascript
JS关闭窗口与JS关闭页面的几种方法小结
Dec 17 Javascript
JavaScript AJAX之惰性载入函数
Aug 27 Javascript
javascript将url中的参数加密解密代码
Nov 17 Javascript
js实现文本框输入文字个数限制代码
Dec 25 Javascript
详解iframe与frame的区别
Jan 13 Javascript
AngularJS 最常用的功能汇总
Feb 17 Javascript
js实现下拉框二级联动
Dec 04 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
Apr 25 Javascript
windows实现npm和cnpm安装步骤
Oct 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作的文本留言本的例子(一)
2006/10/09 PHP
ThinkPHP关于session的操作方法汇总
2014/07/18 PHP
php简单实现快速排序的方法
2015/04/04 PHP
PHP上传文件参考配置大文件上传
2015/12/16 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
Prototype使用指南之selector.js
2007/01/10 Javascript
jQuery中filter()和find()的区别深入了解
2013/09/25 Javascript
JavaScript保留两位小数的2个自定义函数
2014/05/05 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
浅谈JavaScript作用域和闭包
2017/09/18 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
2019/04/29 Javascript
Vue.js中的组件系统
2019/05/30 Javascript
微信小程序实现form表单本地储存数据
2019/06/27 Javascript
vue路由跳转传递参数的方式总结
2020/05/10 Javascript
[01:27]2014DOTA2展望TI 剑指西雅图IG战队专访
2014/06/30 DOTA
[00:32]2018DOTA2亚洲邀请赛Mineski出场
2018/04/04 DOTA
pip 错误unused-command-line-argument-hard-error-in-future解决办法
2014/06/01 Python
详解Python中的分组函数groupby和itertools)
2018/07/11 Python
Django框架model模型对象验证实现方法分析
2019/10/02 Python
如何用python 操作zookeeper
2020/12/28 Python
css3学习系列之移动属性详解
2017/07/04 HTML / CSS
HTML5 创建canvas元素示例代码
2014/06/04 HTML / CSS
html5 figure和figcaption的使用方法
2018/09/10 HTML / CSS
新加坡网上化妆品店:Best Buy World
2018/05/18 全球购物
企业元宵节主持词
2014/03/25 职场文书
公司聘任书模板
2014/03/29 职场文书
小学六一儿童节活动方案
2014/08/27 职场文书
2014年度个人工作总结
2014/11/07 职场文书
大学生团员个人总结
2015/02/14 职场文书
公司年会开场白
2015/06/01 职场文书
浅谈Redis位图(Bitmap)及Redis二进制中的问题
2021/07/15 Redis
Django模型层实现多表关系创建和多表操作
2021/07/21 Python
Python帮你解决手机qq微信内存占用太多问题
2022/02/15 Python