rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » Javascript

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; //删除字符串 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;     //将留言内容中的所有空格符替换为&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>
顶一下
(0)
踩一下
(0)