用jsRegex過濾雙引號的解決辦法 分類: JavaScript 2010-01-15 16:15 2867人閱讀 評論(2) 收藏 舉報
今天碰到一個問題,需要用js的Regex過濾掉頁面文本域中值的雙引號,具體的解決代碼如下:
<html>
<script language="javascript">
//var pattern = /[^"]*/; //校正字串中是否都是非雙引號的字元
var pattern = /["]+/; //校正字串中是否有雙引號的字元
//var pattern = /["][^"]*["]/ //匹配的是位於單引號或者雙引號之內的0個或多個字元
var value1 = "The best things in life are free"; //沒有雙引號的字串
var value2 = "/"/"The /"best things /"in life are free/"/""; //有雙引號的字串
alert("value1沒有雙引號的字串 pattern.exec_1===" + pattern.exec(value1)); //null
alert("value1沒有雙引號的字串 !pattern.exec_2===" + !pattern.exec(value1)); //true
alert("value2有雙引號的字串 pattern.exec_1===" + pattern.exec(value2)); //""
alert("value2有雙引號的字串 !pattern.exec_2===" + !pattern.exec(value2)); //false
if(pattern.exec(value1)){ //校正字串中是否都是非雙引號的字元
alert("value1 沒有加非號 ++++++雙引號被匹配上");
}
if(!pattern.exec(value1)){ //校正字串中是否有雙引號的字元
alert("value1 有加非號 ++++++雙引號被匹配上"); //頁面視窗彈出
}
if(pattern.exec(value2)){ //校正字串中是否都是非雙引號的字元
alert("value2 沒有加非號 ++++++雙引號被匹配上"); //頁面視窗彈出
}
if(!pattern.exec(value2)){ //校正字串中是否有雙引號的字元
alert("value2 有加非號 ++++++雙引號被匹配上");
}
</script>
</html>
以上代碼經過IE8瀏覽器的測試。希望對以後遇到此類似問題的朋友有所協助。