本文实例讲述了php常用表单验证类用法。分享给大家供大家参考。具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
<?php /** * 页面作用:常用表单验证类 * 作 者:欣然随风 * QQ:276624915 */ class class_post { //验证是否为指定长度的字母/数字组合 function fun_text1( $num1 , $num2 , $str ) { Return (preg_match( "/^[a-zA-Z0-9]{" . $num1 . "," . $num2 . "}$/" , $str ))?true:false; } //验证是否为指定长度数字 function fun_text2( $num1 , $num2 , $str ) { return (preg_match( "/^[0-9]{" . $num1 . "," . $num2 . "}$/i" , $str ))?true:false; } //验证是否为指定长度汉字 function fun_font( $num1 , $num2 , $str ) { // preg_match("/^[\xa0-\xff]{1,4}$/", $string); return (preg_match( "/^([\x81-\xfe][\x40-\xfe]){" . $num1 . "," . $num2 . "}$/" , $str ))?true:false; } //验证身份证号码 function fun_status( $str ) { return (preg_match( '/(^([\d]{15}|[\d]{18}|[\d]{17}x)$)/' , $str ))?true:false; } //验证邮件地址 function fun_email( $str ){ return (preg_match( '/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$/' , $str ))?true:false; } //验证电话号码 function fun_phone( $str ) { return (preg_match( "/^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/" , $str ))?true:false; } //验证邮编 function fun_zip( $str ) { return (preg_match( "/^[1-9]\d{5}$/" , $str ))?true:false; } //验证url地址 function fun_url( $str ) { return (preg_match( "/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/" , $str ))?true:false; } // 数据入库 转义 特殊字符 传入值可为字符串 或 一维数组 function data_join(& $data ) { if (get_magic_quotes_gpc() == false) { if ( is_array ( $data )) { foreach ( $data as $k => $v ) { $data [ $k ] = addslashes ( $v ); } } else { $data = addslashes ( $data ); } } Return $data ; } // 数据出库 还原 特殊字符 传入值可为字符串 或 一/二维数组 function data_revert(& $data ) { if ( is_array ( $data )) { foreach ( $data as $k1 => $v1 ) { if ( is_array ( $v1 )) { foreach ( $v1 as $k2 => $v2 ) { $data [ $k1 ][ $k2 ] = stripslashes ( $v2 ); } } else { $data [ $k1 ] = stripslashes ( $v1 ); } } } else { $data = stripslashes ( $data ); } Return $data ; } // 数据显示 还原 数据格式 主要用于内容输出 传入值可为字符串 或 一/二维数组 // 执行此方法前应先data_revert(),表单内容无须此还原 function data_show(& $data ) { if ( is_array ( $data )) { foreach ( $data as $k1 => $v1 ) { if ( is_array ( $v1 )) { foreach ( $v1 as $k2 => $v2 ) { $data [ $k1 ][ $k2 ]= nl2br (htmlspecialchars( $data [ $k1 ][ $k2 ])); $data [ $k1 ][ $k2 ]= str_replace ( " " , " " , $data [ $k1 ][ $k2 ]); $data [ $k1 ][ $k2 ]= str_replace ( "\n" , "<br>\n" , $data [ $k1 ][ $k2 ]); } } else { $data [ $k1 ]= nl2br (htmlspecialchars( $data [ $k1 ])); $data [ $k1 ]= str_replace ( " " , " " , $data [ $k1 ]); $data [ $k1 ]= str_replace ( "\n" , "<br>\n" , $data [ $k1 ]); } } } else { $data = nl2br (htmlspecialchars( $data )); $data = str_replace ( " " , " " , $data ); $data = str_replace ( "\n" , "<br>\n" , $data ); } Return $data ; } } ?> |
希望本文所述对大家的php程序设计有所帮助。