① 在java中如何用正則表達式屏蔽javascript腳本
你需要把用戶評論的內容中的:
"&" 替換成 "&"
"<" 替換成 "<"
">" 替換成 ">"
'"' (雙引號回)替換成 '"'
"'" (單引號)替換成 '''
這樣就可以避免答客戶端的危險輸入了
形如<script type="text/javascript">alert("asdf");</script>
的評論就會被直接顯示出來(如同你看到的一樣=。=)
而不會被當作html標簽轉義
====修改====
我的輸入被轉義了,修改下,記得去掉空格
"&" 替換成 "& amp;"
"<" 替換成 "& lt;"
">" 替換成 "& gt;"
'"' (雙引號)替換成 '& quot;'
"'" (單引號)替換成 '& #39;'
② js中用正則表達式 過濾特殊字元 校驗所有輸入域是否含有特殊符號
function stripscript(s) {
var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】『;:」「'。,、?]")
var rs = "";
for (var i = 0; i < s.length; i++) {
rs = rs + s.substr(i, 1).replace(pattern, '');
}
return rs;
}
③ JS 正則表達式 怎麼過濾逗號和引號
split() 方法用於把一個字元串分割成字元串數組。
語法
stringObject.split(separator,howmany)
參數
separator 必需。字元串或正則表達式,從該參數指定的地方分割 stringObject。
howmany 可選。該參數可指定返回的數組的最大長度。如果設置了該參數,返回的子串不會多於這個參數指定的數組。如果沒有設置該參數,整個字元串都會被分割,不考慮它的長度。
返回值
一個字元串數組。該數組是通過在separator指定的邊界處將字元串 stringObject 分割成子串創建的。返回的數組中的字串不包括separator自身。
如果想通過正則表達式,完成按引號中的逗號進行拆分,下面是代碼,僅供參考:
varstr='sdfs,dhf,skjdf","sdfsdfsdfsd","sdfe';
str.split(/","/g);
---->["sdfs,dhf,skjdf","sdfsdfsdfsd","sdfe"]
④ JS使用正則表達式除去字元串中重復字元的方法
本文實例講述了JS使用正則表達式除去字元串中重復字元的方法。分享給大家供大家參考,具體如下:
這里演示一個簡單的JavaScript正則表達式實例,將一串含有重復字元串中的多餘字元濾除掉,請運行查看效果。
具體代碼如下:
<html>
<head>
<title>利用正則表達法除去字元串中的重復字元</title>
</head>
<body>
<script
language="javascript">
str
=
"Google"
str1
=
str.replace(/(.).*\1/g,"$1")
document.write(str
+
"<br>");
document.write(str1);
</script>
</body>
</html>
運行結果如下:
Google
Gogle
希望本文所述對大家JavaScript程序設計有所幫助。
⑤ 如何使用js正則 過濾某一個html標簽下所有的標簽跟樣式呢只保留出純文本
js過濾標簽的方法。分享給大家供大家參考,具體如下:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>無標題文檔</title>
<script>
window.onload=function()
{
varoTxt1=document.getElementById('txt1');
varoTxt2=document.getElementById('txt2');
varoBtn=document.getElementById('btn');
oBtn.onclick=function()
{
varreg=/<[^<>]+>/g;
oTxt2.value=oTxt1.value.replace(reg,'');
};
};
</script>
</head>
<body>
<textareaid="txt1"cols="40"rows="10"></textarea><br/>
<inputtype="button"value="過濾"id="btn"/><br/>
<textareaid="txt2"cols="40"rows="10"></textarea>
</body>
</html>
⑥ js 正則過濾特殊字元
您好
js檢查是否含有非法字元,js 正則過濾特殊字元
//正則
functiontrimTxt(txt){
returntxt.replace(/(^s*)|(s*$)/g,"");
}
/**
*檢查是否含有非法字元
*@paramtemp_str
*@returns{Boolean}
*/
functionis_forbid(temp_str){
temp_str=trimTxt(temp_str);
temp_str=temp_str.replace('*',"@");
temp_str=temp_str.replace('--',"@");
temp_str=temp_str.replace('/',"@");
temp_str=temp_str.replace('+',"@");
temp_str=temp_str.replace(''',"@");
temp_str=temp_str.replace('\',"@");
temp_str=temp_str.replace('$',"@");
temp_str=temp_str.replace('^',"@");
temp_str=temp_str.replace('.',"@");
temp_str=temp_str.replace(';',"@");
temp_str=temp_str.replace('<',"@");
temp_str=temp_str.replace('>',"@");
temp_str=temp_str.replace('"',"@");
temp_str=temp_str.replace('=',"@");
temp_str=temp_str.replace('{',"@");
temp_str=temp_str.replace('}',"@");
varforbid_str=newString('@,%,~,&');
varforbid_array=newArray();
forbid_array=forbid_str.split(',');
for(i=0;i<forbid_array.length;i++){
if(temp_str.search(newRegExp(forbid_array[i]))!=-1)
returnfalse;
}
returntrue;
}
---------------------
作者:dongsir 董先生
來源:董先生的博客
原文鏈接:js檢查是否含有非法字元
版權聲明:本作品採用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。轉載時請標註:http://dongsir.cn/p/195
⑦ 如何用 正則 過濾 所有JS
var regEx = /(<script)[^<]*(<\/script>)/gi;
document.body.innerHTML.replace(regEx,"");
⑧ 如何用用正則表達式過濾html中所有 Script
用正則表達式過濾html中所有 的方法:
1、定義正則表達式:
/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi
2、用正則表達式處理script的方法如下:
<html>
<head>
<!--此處引入script腳本用於測試開始-->
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".btn1").click(function(){
alert($("p").html());
});
});
</script>
<!--此處引入script腳本用於測試結束-->
</head>
<body>
<p>This is a paragraph.</p>
<!--這里增加一個按鈕,點擊後會刪除所有的script塊的代碼-->
<button class="btn1" onclick="removeAllScript();">刪除script</button>
</body>
</html>
<!--定義function處理刪除-->
function removeAllScript(obj){
//定義正則表達式,只要是存在於<script>和</script>之間的內容都會被刪除
var SCRIPT_REGEX = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi;
while (SCRIPT_REGEX.test(obj)) {//傳入文檔對象,獲取整體內容
text = text.replace(SCRIPT_REGEX, ""); //正則替換為空
}
}
⑨ 簡單的用js實現過濾多餘字元的正則表達式
利用正則表達法除去字元串中的重復字元
str
=
"Google"
str1
=
str.replace(/(.).*\1/g,"$1")
document.write(str
+
"
");
document.write(str1);
[Ctrl+A
全選
注:如需引入外部Js需刷新才能執行]