正則表達式
var SQLSCHECK = /(?:--)|(?:')|(/*(?:.|[//n//r])*?/*)|^(select|from|update|and|or|delete|insert|trancate|char|into|substr|ascii|declare|exec|count/(|master|into|drop|execute|ctxsys|chr|concat|utl_inaddr|utl_http|utl_raw)+$/ig;
方法:
function checkSql (str){var newStr="";if(!str || typeof str!="string")return str; //如果存在空格,則再次循環校驗 var strs = str.split(" "); newStr = strs[0].replace(SQLSCHECK,""); //如果存在空格則循環校驗 if(str.indexOf(" ")!=-1 && strs.length>1){ for(var i=1;i<strs.length;i++){newStr += " " + strs[i].replace(SQLSCHECK,"");} }return newStr;},
調用:
input.bind("change",function(){var v = $(this).val();var v2 = me.checkSql(v);if(v !=v2){alert("輸入包含非法字符串,請重新錄入!");$(this).val(v2);}});
新聞熱點
疑難解答