說明:
以下函數中前兩個函數取出查找字符串的前一部分和後一部分,以用於其他函數。注意,調用一次 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]
復制代碼 代碼如下:
復制代碼 代碼如下:
復制代碼 代碼如下:
使用示例:
假設有一表單,用於接收用戶的留言信息。我們需要將留言內容中用戶輸入的回車換行替換為 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("rn") != -1 ){
gb_contentStr=replaceString(gb_contentStr,"rn","<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>