今天写的代码给项目经理看了下,因为之前没有考虑sql注入的问题,
然后在他测试我的code的时候,打了一个“'”,然后我的程序就挂了!于是乎,我在网上找到了一个验证并过滤文本框的jquery!
先上图:
PS:这里用@#测试,因为'太小了,都看不清楚了!
具体的jquery代码:
//非空验证
$("#btnSubmit").click(function(){
if($("#name").val() == ""){
alert("姓名必填!");
$("#name").focus();
return false;
}
//js验证 `~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?
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("入职时间必填!");
return false;
}
});
//是否存在<a href="https://www.jb51.cc/tag/yonghuming/" target="_blank" class="keywords">用户名</a>
var existName = '${action_msg}';
if(existName != "" && existName != null){
$("#span_").attr("style","display:block");
$("#span_").attr("style","color:red");
$("#span_").html("<a href="https://www.jb51.cc/tag/yonghuming/" target="_blank" class="keywords">用户名</a>"+existName+"已经存在!换~~");
}else{
$("#span_").attr("style","display:none");
}
});
这是以弹框的形式!
/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]")
var rs = "";
for (var i = 0; i < s.length; i++) {
rs = rs+s.substr(i,1).replace(pattern,'');
}
return rs;
}
//批量<a href="https://www.jb51.cc/tag/shanchu/" target="_blank" class="keywords">删除</a>
$("#btnDel").click(function() {
if(confirm("确认<a href="https://www.jb51.cc/tag/shanchu/" target="_blank" class="keywords">删除</a>?")){
var lstInt = new Array();
var index = 0;
$("input[name='check<a href="https://www.jb51.cc/tag/Box/" target="_blank" class="keywords">Box</a>']:checked").each(function() {
lstInt[index] = $(this).attr("value");
index++;
});
if (lstInt.length @H_502_29@ 0) {
location.href = '${basePath}/user/delUser.jspx?idLst=' + lstInt;
}
}
});
// 全选
$("#allCheck").click(function() {
$("#notAllCheck").attr("checked","");
$("input[name='check<a href="https://www.jb51.cc/tag/Box/" target="_blank" class="keywords">Box</a>']").not("input:checked").each(function() {
$(this).attr("checked","checked");
});
});
// 全不选
$("#notAllCheck").click(function() {
$("#allCheck").attr("checked","");
$("input[name='check<a href="https://www.jb51.cc/tag/Box/" target="_blank" class="keywords">Box</a>']:checked").each(function() {
$(this).attr("checked","");
});
});
//<a href="https://www.jb51.cc/tag/chaxun/" target="_blank" class="keywords">查询</a>
$("#btnSelect").click(function(){
if($("#inputName").val() == "" || $("#inputName").val() == "请输入员工姓名!"){
alert("请输入员工姓名![<a href="https://www.jb51.cc/tag/zhichi/" target="_blank" class="keywords">支持</a>模糊匹配]");
$("#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);
}
});
//友情<a href="https://www.jb51.cc/tag/tishi/" target="_blank" class="keywords">提示</a>
$("#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";
});
});</pre>
这是用空格来替换!
以上这篇jquery过滤特殊字符',防sql注入的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。
原文链接:https://www.f2er.com/jquery/46523.html