PHP实现的常规正则验证helper公共类完整实例

2025-05-29 0 34

本文实例讲述了PHP实现的常规正则验证helper公共类。分享给大家供大家参考,具体如下:

主要代码功能: 弥补平时项目对于验证功能这块的不严谨。具体细分的常规验证, 手机号/电话/小灵通验证, 字符串长度区间合法验证, 邮箱验证, 使用正则验证数据.

?

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
/**

*

*

* 常规验证helper公共类

*

*

*/

class CheckForm

{

//手机号/电话/小灵通 验证

public function Mobile_check($mobile,$type = array())

{

/**

* 手机号码

* 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188

* 联通:130,131,132,152,155,156,185,186

* 电信:133,1349,153,180,189

*/

$res[1]= preg_match('/^1(3[0-9]|5[0-35-9]|8[0-9])\\\\d{8}$/', $mobile);

/**

* 中国移动:China Mobile

11 * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188

*/

$res[2]= preg_match('/^1(34[0-8]|(3[5-9]|5[017-9]|8[0-9])\\\\d)\\\\d{7}$/', $mobile);

/**

* 中国联通:China Unicom

* 130,131,132,152,155,156,185,186

*/

$res[3]= preg_match('/^1(3[0-2]|5[256]|8[56])\\\\d{8}$/', $mobile);

/**

* 中国电信:China Telecom

* 133,1349,153,180,189

*/

$res[4]= preg_match('/^1((33|53|8[09])[0-9]|349)\\\\d{7}$/', $mobile);

/**

* 大陆地区固话及小灵通

* 区号:010,020,021,022,023,024,025,027,028,029

* 号码:七位或八位

*/

$res[5]= preg_match('/^0(10|2[0-5789]|\\\\d{3})-\\\\d{7,8}$/', $mobile);

$type = empty($type) ? array(1,2,3,4,5) : $type;

$ok = false;

foreach ($type as $key=>$val)

{

if ($res[$val])

{

$ok = true;

}

continue;

}

if ( $mobile && $ok )

{

return true;

} else{

return false;

}

}

//字符串长度区间合法验证

public function Strlength_check($str, $min=NULL, $max=NULL)

{

preg_match_all("/./u", $str, $matches);

$len = count($matches[0]);

if(is_null($min) && !empty($max) && $len < $max){

return false;

}

if(is_null($max) && !empty($min) && $len > $min){

return false;

}

if ($len < $min || $len > $max) {

return false;

}

return true;

}

//邮箱验证

public static function isEmail($str)

{

if (!$str) {

return false;

}

return preg_match('#[a-z0-9&\\-_.]+@[\\w\\-_]+([\\w\\-.]+)?\\.[\\w\\-]+#is', $str) ? true : false;

}

/**

* 使用正则验证数据

* @access public

* @param string $rule 验证规则

* @param string $value 要验证的数据

* @return boolean

*/

public function regex($rule,$value) {

$validate = array(

//字段必须,不能为空

'require' => '/\\S+/',

//邮箱验证

'email' => '/^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$/',

//url验证

'url' => '/^http(s?):\\/\\/(?:[A-za-z0-9-]+\\.)+[A-za-z]{2,4}(?:[\\/\\?#][\\/=\\?%\\-&~`@[\\]\\':+!\\.#\\w]*)?$/',

//货币验证

'currency' => '/^\\d+(\\.\\d{0,2})?$/',

//数字验证

'number' => '/^[-\\+]?\\d+(\\.\\d+)?$/',

//zip验证

'zip' => '/^\\d{6}$/',

//整数验证

'integer' => '/^[-\\+]?\\d+$/',

//浮点数验证

'double' => '/^[-\\+]?\\d+(\\.\\d+)?$/',

//英文验证

'english' => '/^[A-Za-z]+$/',

'gt0' => '/^(?!(0[0-9]{0,}$))[0-9]{1,}[.]{0,}[0-9]{0,}$/',

//合法帐号

'account' => '/^[a-zA-Z][a-zA-Z0-9_]{1,19}$/'

);

// 检查是否有内置的正则表达式

if(isset($validate[strtolower($rule)]))

$rule = $validate[strtolower($rule)];

return preg_match($rule,$value)===1;

}

function CheckPwd($pwd,$min=NULL, $max=NULL)

{

if (strlen($pwd)>$max || strlen($pwd)<$min || preg_match("/^\\d*$/",$pwd) || preg_match("/^[a-z]*$/i",$pwd))

{

return false;

}

return true;

}

}

is_null() 检测变量是否为 NULL。

希望本文所述对大家PHP程序设计有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP实现的常规正则验证helper公共类完整实例 https://www.kuaiidc.com/94496.html

相关文章

发表评论
暂无评论