验证表单中输入的特殊字符

1.前台表单通过js过滤掉特殊字符

function stripscript(s) {
    var pattern = new RegExp("[`[email protected]#$^&*()=|{}‘:;‘,\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“‘。,、?\"]");
    var rs = "";
    for (var i = 0; i < s.length; i++) {
        rs = rs + s.substr(i, 1).replace(pattern, ‘‘);
    }
    return rs;
}

var username = stripscript($.trim($(‘#username‘).val()));
//对过滤掉特殊字符的字符串进行进一步判断
if(username ==‘‘)
{
    error += ‘收货人不能为空\n‘;
    is_error = 1;
}
if(is_error > 0){
        alert(error);
        return ;
}else{
        $("form").submit();
}    

2.后台代码对特殊字符进行转化

 1 $params = $_GET;
 2 foreach($params as $k => $v){
 3         $params[$k] = clean($v);
 4 }
 5 --将数据存入数据库(省略)
 6 public function clean($str)
 7 {
 8     return addslashes(xssClean($str));
 9 }
10
11 //去掉js和html
12 static private function _xssClean($str)
13 {
14      $_search = array(
15         "‘<script[^>]*?>.*?</script>‘si",              // 去掉 javascript
16         "‘<[\/\!]*?[^<>]*?>‘si",                      // 去掉 HTML 标记
17         "‘([\r\n])[\s]+‘",                            // 去掉空白字符
18         "‘&(quot|#34);‘i",                            // 替换 HTML 实体
19         "‘&(amp|#38);‘i",
20         "‘&(lt|#60);‘i",
21         "‘&(gt|#62);‘i",
22         "‘&(nbsp|#160);‘i"
23     );
24     $_replace = array(                // 作为 PHP 代码运行
25         ‘‘,
26         ‘‘,
27         "\\1",
28         "\"",
29         "&",
30         "<",
31         ">",
32         ‘‘
33     );
34     $str = trim($str);
35     if (strlen($str) <= 0)
36         return $str;
37     return @preg_replace_callback($_search, $_replace, $str);
38 }
时间: 2024-12-28 22:02:01

验证表单中输入的特殊字符的相关文章

表单中输入内容,搜索时,下面table中该列中包含关键字的高亮显示

有时候为了在搜索时清楚直观,需要关键字的高亮显示, 效果如下: 思想:在下面table中,本来应该是直接渲染数据,此时,可以先写一个方法,里面包含两个参数,分别是该显示的内容以及进行搜索时输入的关键字,在该方法中,进行判断,若是该列内容中包含关键字,则将关键字颜色改变,然后替换掉:若是没有,则还是原样显示. 表单中: table表格中: 此时需要写关键字高亮显示的方法: 在该方法中,可以使用if判断来进行替换,也可以使用正则来写. 原文地址:https://www.cnblogs.com/520

网页中用jquery validate 验证表单输入项

本人菜鸟,w3cschool上的东西,觉得很好. 导入库 <script src="../js/jquery.js" type="text/javascript"></script> <script src="../js/jquery.validate.js" type="text/javascript"></script> 默认的规则,基本上够用 了, 1 required:t

JavaScript---通过正则表达式验证表单输入

验证输入的name只能是数字或字母或下划线 js <script type="text/javascript"> function submitOn(){ var f = document.getElementById("userfrm"); var isValiUserName = false, isValiPassword = false; var userNameStr = f.username.value; var passwordStr = f

JS验证表单中TEXT文本框中是否含有非法字符

<form id="form" action="" method="post"> <input type="hidden" name="selected" value="" /> <table class="conditionTable"> <tr> <td class="first">用

AngulairJS表单输入验证与mvc

AngulairJS表单输入验证 1.表单中,常用的验证操作有:$dirty 表单有填写记录.$valid 字段内容合法的.$invalid 字段内容是非法的.$pristine 表单没有填写记录.$error    表单验证不通过的错误验证信息. 2.验证时,需给表单及需要验证的input设置name属性 给form和input设置name后,会将form表单信息,默认绑定到$scope作用域中.故,可以使用formName.inputname.$验证操作得到验证结果 例如:formName.

提交表单中的特殊字符转换

<script type="text/javascript"> // 替换特殊字符 function HTMLEncode(text){  text = text.replace(/&/g, "&") ;  text = text.replace(/"/g, """) ;  text = text.replace(/</g, "<") ;  text = text.r

使用文档对象在页面上创建学生信息表。 信息表包括学号、姓名、性别、电子邮件、联系电话、个人主页和联系地址, 信息表内容通过表单输入,提交前先使用正则表达式进行验证,联系地址不能超过20个字符, 每输入一名学生的信息,提交后,表格增加一行,表格不能被选择、复制。

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>    </head>    <!--        描述:使用文档对象在页面上创建学生信息表.        信息表包括学号.姓名.性别.电子邮件.联系电话.个人主页和联系地址,        信息表内容通过表单输入,提交前先使用

Html5页面使用javascript setCutomValidity()函数验证表单判断输入

<!DOCTYPE HTML><head><meta charset="UTF-8"><title>Html5页面使用javascript验证表单判断输入</title><script language="javascript">function check(){    var pass1=document.getElementbyid("pass1");    var pa

jquery中clone()实现表单中增加和减少输入项

之前一直没有深入了解到clone()函数的方法,所以对应表单中增加和减少输入项一直使用如: var copy_html=$(选择器).html(); alert(copy_html); 问题在于得出的copy_html直接是HTML内容代码,未经过object封装,而使用: var copy_html=$(选择器).clone(); alert(copy_html); 得出未object对象类型,若$(选择器)包含了某个触发,如 onclick,如果想copy_html继续沿用onclick方法