JavaScript字符串插入、刪除、替換函數(shù)使用示例
更新時(shí)間:2013年07月25日 17:01:28 作者:
本文為大家介紹下JavaScript字符串的插入、刪除、替換函數(shù)的在實(shí)際中的應(yīng)用,想要學(xué)習(xí)的朋友可以參考下哈,希望對(duì)初學(xué)者有所幫助
說明:
以下函數(shù)中前兩個(gè)函數(shù)取出查找字符串的前一部分和后一部分,以用于其他函數(shù)。注意,調(diào)用一次 replaceString(mainStr,searchStr,replaceStr) 函數(shù),只能將字符串 mainStr 中最先找到的一個(gè) searchStr 字符串替換為 replaceStr 字符串,并不能將字符串 mainStr 中所有的 searchStr 字符串替換為 replaceStr 字符串,如果需要替換全部,則需要使用循環(huán)。
函數(shù)源碼:
[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;
}
使用示例:
假設(shè)有一表單,用于接收用戶的留言信息。我們需要將留言內(nèi)容中用戶輸入的回車換行替換為 HTML 標(biāo)簽 <br>,同時(shí)還需要將空格符替換為 ,這樣在顯示留言信息的時(shí)候就能按用戶輸入的原格式進(jìn)行顯示了。
html文件如下:
<html>
<head>
<script language="javaScript">
//此處由以上提供的腳本函數(shù)源碼填充,即getFront、getEnd、replaceString
//[、insertString、deleteString]。
//表單檢測(cè)函數(shù)
function checkForm(form){
var gb_contentStr=form.elements["gb_content"].value;
//將留言內(nèi)容中的所有空格符替換為
while(gb_contentStr.indexOf(" ") != -1 ){
gb_contentStr=replaceString(gb_contentStr," "," ");
}
//將留言內(nèi)容中的所有回車符替換為<br>
while(gb_contentStr.indexOf("\r\n") != -1 ){
gb_contentStr=replaceString(gb_contentStr,"\r\n","<br>");
}
form.elements["gb_content"].value=gb_contentStr; //保存由以上腳本修改后的留言內(nèi)容
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">留言內(nèi)容:</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>
以下函數(shù)中前兩個(gè)函數(shù)取出查找字符串的前一部分和后一部分,以用于其他函數(shù)。注意,調(diào)用一次 replaceString(mainStr,searchStr,replaceStr) 函數(shù),只能將字符串 mainStr 中最先找到的一個(gè) searchStr 字符串替換為 replaceStr 字符串,并不能將字符串 mainStr 中所有的 searchStr 字符串替換為 replaceStr 字符串,如果需要替換全部,則需要使用循環(huán)。
函數(shù)源碼:
[code
//提取查找字符串前面所有的字符
function getFront(mainStr,searchStr){
foundOffset=mainStr.indexOf(searchStr);
if(foundOffset==-1){
return null;
}
return mainStr.substring(0,foundOffset);
}
[/code]
復(fù)制代碼 代碼如下:
//提取查找字符串后面的所有字符
function getEnd(mainStr,searchStr){
foundOffset=mainStr.indexOf(searchStr);
if(foundOffset==-1){
return null;
}
return mainStr.substring(foundOffset+searchStr.length,mainStr.length);
}
復(fù)制代碼 代碼如下:
//在字符串 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;
}
復(fù)制代碼 代碼如下:
//刪除字符串 deleteStr
function deleteString(mainStr,deleteStr){
return replaceString(mainStr,deleteStr,"");
}
復(fù)制代碼 代碼如下:
//將字符串 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;
}
使用示例:
假設(shè)有一表單,用于接收用戶的留言信息。我們需要將留言內(nèi)容中用戶輸入的回車換行替換為 HTML 標(biāo)簽 <br>,同時(shí)還需要將空格符替換為 ,這樣在顯示留言信息的時(shí)候就能按用戶輸入的原格式進(jìn)行顯示了。
html文件如下:
復(fù)制代碼 代碼如下:
<html>
<head>
<script language="javaScript">
//此處由以上提供的腳本函數(shù)源碼填充,即getFront、getEnd、replaceString
//[、insertString、deleteString]。
//表單檢測(cè)函數(shù)
function checkForm(form){
var gb_contentStr=form.elements["gb_content"].value;
//將留言內(nèi)容中的所有空格符替換為
while(gb_contentStr.indexOf(" ") != -1 ){
gb_contentStr=replaceString(gb_contentStr," "," ");
}
//將留言內(nèi)容中的所有回車符替換為<br>
while(gb_contentStr.indexOf("\r\n") != -1 ){
gb_contentStr=replaceString(gb_contentStr,"\r\n","<br>");
}
form.elements["gb_content"].value=gb_contentStr; //保存由以上腳本修改后的留言內(nèi)容
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">留言內(nèi)容:</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>
相關(guān)文章
Js實(shí)現(xiàn)簡(jiǎn)單的小球運(yùn)動(dòng)特效
這篇文章主要介紹了Js實(shí)現(xiàn)簡(jiǎn)單的小球運(yùn)動(dòng)特效的相關(guān)資料,需要的朋友可以參考下2016-02-02JavaScript錯(cuò)誤處理超完整實(shí)用指南
在JavaScript中進(jìn)行錯(cuò)誤處理,最常見的方式就是使用try catch語(yǔ)句,下面這篇文章主要給大家介紹了關(guān)于JavaScript錯(cuò)誤處理的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11JS Html轉(zhuǎn)義和反轉(zhuǎn)義(html編碼和解碼)的實(shí)現(xiàn)與使用方法總結(jié)
這篇文章主要介紹了JS Html轉(zhuǎn)義和反轉(zhuǎn)義(html編碼和解碼)的實(shí)現(xiàn)與使用方法,結(jié)合實(shí)例形式總結(jié)分析了JS Html轉(zhuǎn)義和反轉(zhuǎn)義、html編碼和解碼相關(guān)封裝類定義與具體使用技巧,需要的朋友可以參考下2020-03-03JS實(shí)現(xiàn)的碰撞檢測(cè)與周期移動(dòng)完整示例
這篇文章主要介紹了JS實(shí)現(xiàn)的碰撞檢測(cè)與周期移動(dòng),結(jié)合完整實(shí)例形式分析了javascript結(jié)合時(shí)間函數(shù)的頁(yè)面元素屬性動(dòng)態(tài)操作及事件響應(yīng)相關(guān)使用技巧,需要的朋友可以參考下2019-09-09