jquery過濾特殊字符',防sql注入的實(shí)現(xiàn)方法
今天寫的代碼給項(xiàng)目經(jīng)理看了下,因?yàn)橹皼]有考慮sql注入的問題,然后在他測試我的code的時(shí)候,打了一個(gè)“'”,然后我的程序就掛了!
于是乎,我在網(wǎng)上找到了一個(gè)驗(yàn)證并過濾文本框的jquery!
先上圖:
PS:這里用@#測試,因?yàn)?太小了,都看不清楚了!
具體的jquery代碼:
<script type="text/javascript" language="javascript"> $(document).ready(function() { //返回 $("#btnBack").click(function() { location.href = "${basePath}/user/user_List.jspx?action=peek"; }); //非空驗(yàn)證 $("#btnSubmit").click(function(){ if($("#name").val() == ""){ alert("姓名必填!"); $("#name").focus(); return false; } //js驗(yàn)證 `~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、? var pattern = new RegExp("[~'!@#$%^&*()-+_=:]"); if($("#name").val() != "" && $("#name").val() != null){ if(pattern.test($("#name").val())){ alert("非法字符!"); $("#name").attr("value",""); $("#name").focus(); return false; } } if($("#enterDate").val() == ""){ alert("入職時(shí)間必填!"); return false; } }); //是否存在用戶名 var existName = '${action_msg}'; if(existName != "" && existName != null){ $("#span_").attr("style","display:block"); $("#span_").attr("style","color:red"); $("#span_").html("用戶名"+existName+"已經(jīng)存在!換~~"); }else{ $("#span_").attr("style","display:none"); } }); </script>
這是以彈框的形式!
$(document).ready(function(){ //過濾非法字符 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; } //批量刪除 $("#btnDel").click(function() { if(confirm("確認(rèn)刪除?")){ var lstInt = new Array(); var index = 0; $("input[name='checkbox']:checked").each(function() { lstInt[index] = $(this).attr("value"); index++; }); if (lstInt.length <= 0) { alert("你還沒有選擇!"); return; } if (lstInt != null&& lstInt.length > 0) { location.href = '${basePath}/user/delUser.jspx?idLst=' + lstInt; } } }); // 全選 $("#allCheck").click(function() { $("#notAllCheck").attr("checked", ""); $("input[name='checkbox']").not("input:checked").each(function() { $(this).attr("checked", "checked"); }); }); // 全不選 $("#notAllCheck").click(function() { $("#allCheck").attr("checked", ""); $("input[name='checkbox']:checked").each(function() { $(this).attr("checked", ""); }); }); //查詢 $("#btnSelect").click(function(){ if($("#inputName").val() == "" || $("#inputName").val() == "請輸入員工姓名!"){ alert("請輸入員工姓名![支持模糊匹配]"); $("#inputName").focus(); }else if($("#inputName").val() == "'" ){ alert("輸入非法字符!"); $("#inputName").focus(); $("#inputName").attr("value",""); }else{ var name = $("#inputName").val(); location.href="user_List.jspx?inputName="+stripscript(name); } }); //友情提示 $("#inputName").blur(function(){ if($("#inputName").val() == ""){ $(this).attr("value","請輸入員工姓名!"); } $(this).css("color","#D6D6FF"); }); $("#inputName").focus(function(){ if($("#inputName").val() == "請輸入員工姓名!"){ $(this).attr("value",""); } $(this).css("color","#6699FF"); }); var name = '${name}'; if(name != '' && name != null){ $("#inputName").attr("value",name); } $("#btnBackIndex").click(function(){ location.href="user_List.jspx"; }); });
這是用空格來替換!
以上這篇jquery過濾特殊字符',防sql注入的實(shí)現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
jquery mobile的觸控點(diǎn)擊事件會(huì)多次觸發(fā)問題的解決方法
這篇文章主要介紹了jquery mobile的觸控點(diǎn)擊事件會(huì)多次觸發(fā)問題的解決方法以及替代方法,需要的朋友可以參考下2014-05-05jQuery實(shí)現(xiàn)的簡單折疊菜單(折疊面板)效果代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)的簡單折疊菜單(折疊面板)效果代碼,涉及jQuery中slideToggle與toggleClass方法的靈活使用技巧,需要的朋友可以參考下2015-09-09jQuery模仿京東/天貓商品左側(cè)分類導(dǎo)航菜單效果
在京東或者是天貓上可以看到左側(cè)分類導(dǎo)航菜單,當(dāng)鼠標(biāo)滑過導(dǎo)航分類時(shí),會(huì)出現(xiàn)詳細(xì)分類模塊,鼠標(biāo)移開就會(huì)恢復(fù)默認(rèn)樣式,下面小編給大家?guī)砹嘶?mouseenter()和mouseleave()實(shí)現(xiàn)仿京東/天貓商品左側(cè)分類導(dǎo)航菜單效果,一起看看吧2016-06-06jQuery ajax時(shí)間差導(dǎo)致的變量賦值問題分析
這篇文章主要介紹了jQuery ajax時(shí)間差導(dǎo)致的變量賦值問題,結(jié)合實(shí)例對比分析了jQuery的ajax調(diào)用中出現(xiàn)的時(shí)間差賦值問題原因與解決方法,需要的朋友可以參考下2016-01-01jquery實(shí)現(xiàn)鼠標(biāo)經(jīng)過顯示下劃線的漸變下拉菜單效果代碼
這篇文章主要介紹了jquery實(shí)現(xiàn)鼠標(biāo)經(jīng)過顯示下劃線的漸變下拉菜單效果代碼,涉及jquery插件SuperSlide.2.1.js實(shí)現(xiàn)滑動(dòng)切換效果的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-08-08jquerymobile checkbox及時(shí)刷新才能獲取其準(zhǔn)確值
一般登錄的時(shí)候 都有個(gè)記住用戶名 記住密碼 的兩個(gè)checkbox 多選框用jquerymobile 做頁面 ,當(dāng)勾選checkbox 時(shí)總是不能獲取它正確的值2012-04-04jQuery實(shí)現(xiàn)導(dǎo)航回彈效果
本文主要介紹了jQuery實(shí)現(xiàn)導(dǎo)航回彈效果的實(shí)例,具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
很多網(wǎng)站都是使用這種方式引入,客戶的瀏覽器可能已經(jīng)緩存過了 jquery??梢灾苯诱{(diào)用本地的,速度更快2011-04-04