正则表达式
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);}});
新闻热点
疑难解答