JavaScript字串插入、刪除、替換函數

來源:互聯網
上載者:User
JavaScript字串插入、刪除、替換函數

說明:

  以下函數中前兩個函數取出尋找字串的前一部分和後一部分,以用於其他函數。注意,調用一次 replaceString(mainStr,searchStr,replaceStr) 函數,只能將字串 mainStr 中最先找到的一個 searchStr 字串替換為 replaceStr 字串,並不能將字串 mainStr 中所有的 searchStr 字串替換為 replaceStr 字串,如果需要替換全部,則需要使用迴圈。

函數源碼:

//提取尋找字串前面所有的字元

function getFront(mainStr,searchStr){    foundOffset=mainStr.indexOf(searchStr);    if(foundOffset==-1){       return null;    }    return mainStr.substring(0,foundOffset);}

//提取尋找字串後面的所有字元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;}

//刪除字串 deleteStrfunction deleteString(mainStr,deleteStr){    return replaceString(mainStr,deleteStr,"");}

//將字串 searchStr 修改為 replaceStrfunction 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>,同時還需要將空格符替換為 &nbsp;,這樣在顯示留言資訊的時候就能按使用者輸入的原格式進行顯示了。

html檔案如下:

<html><head><script language="javaScript">//此處由以上提供的指令碼函數源碼填充,即getFront、getEnd、replaceString//[、insertString、deleteString]。//表單檢測函數function checkForm(form){    var gb_contentStr=form.elements["gb_content"].value;        //將留言內容中的所有空格符替換為&nbsp;     while(gb_contentStr.indexOf(" ") != -1 ){          gb_contentStr=replaceString(gb_contentStr," ","&nbsp;");    }        //將留言內容中的所有斷行符號符替換為<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>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.