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 相关文章推荐
javascript  Error 对象 错误处理
May 18 Javascript
jQuery Ajax之$.get()方法和$.post()方法
Oct 12 Javascript
用js解决数字不能换行问题
Aug 10 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
Jan 11 Javascript
javascript实现一个简单的弹出窗
Feb 22 Javascript
移动端脚本框架Hammer.js
Dec 15 Javascript
Angularjs为ng-click事件传递参数
Jun 15 Javascript
vue插件vue-resource的使用笔记(小结)
Aug 04 Javascript
layui中使用jquery控制radio选中事件的示例代码
Aug 15 jQuery
javascript数据类型中的一些小知识点(推荐)
Apr 18 Javascript
JavaScript函数IIFE使用详解
Oct 21 Javascript
js实现移动端轮播图滑动切换
Dec 21 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/07/04 PHP
php中把美国时间转为北京时间的自定义函数分享
2014/07/28 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
php使用function_exists判断函数可用的方法
2014/11/19 PHP
PHP框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
PHP经典实用正则表达式小结
2017/05/04 PHP
laravel框架 api自定义全局异常处理方法
2019/10/11 PHP
javascript之bind使用介绍
2011/10/09 Javascript
如何使用Javascript正则表达式来格式化XML内容
2013/07/04 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
JavaScript用JQuery呼叫Server端方法示例代码
2014/09/03 Javascript
jQuery插件PageSlide实现左右侧栏导航菜单
2015/04/12 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
2015/08/22 Javascript
jQuery如何获取动态添加的元素
2016/06/24 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
基于VUE实现简单的学生信息管理系统
2021/01/13 Vue.js
[01:05:40]VG vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python中将字典转换为XML以及相关的命名空间解析
2015/10/15 Python
python开发之for循环操作实例详解
2015/11/12 Python
浅析python实现scrapy定时执行爬虫
2018/03/04 Python
解决pycharm运行时interpreter为空的问题
2018/10/29 Python
在Python 中同一个类两个函数间变量的调用方法
2019/01/31 Python
如何实现Django Rest framework版本控制
2019/07/25 Python
Python第三方库的几种安装方式(小结)
2020/04/03 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
DataReader和DataSet的异同
2014/12/31 面试题
资料员岗位职责
2013/11/17 职场文书
户籍证明格式
2014/09/15 职场文书
南京市纪委监察局整改方案
2014/09/16 职场文书
2015年优质护理服务工作总结
2015/04/08 职场文书
Nginx解决前端访问资源跨域问题的方法详解
2021/03/31 Servers
python利用pandas分析学生期末成绩实例代码
2021/07/09 Python
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js