本文实例讲述了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程序设计有所帮助。