检查字符串长度 检查字符串是否为空 用正则表达式验证出版物的ISBN号 用正则表达式验证邮证编码 验证字符串中是否含有汉字

时间:2023-03-08 15:25:45
检查字符串长度 检查字符串是否为空  用正则表达式验证出版物的ISBN号   用正则表达式验证邮证编码 验证字符串中是否含有汉字
  1. <?php
  2. /**
  3. * 常用的正则表达式来验证信息.如:网址 邮箱 手机号等
  4. */
  5. class check {
  6. /**
  7. * 正则表达式验证email格式
  8. *
  9. * @param string $str    所要验证的邮箱地址
  10. * @return boolean
  11. */
  12. public static function isEmail($str) {
  13. if (!$str) {
  14. return false;
  15. }
  16. return preg_match('#[a-z0-9&\-_.]+@[\w\-_]+([\w\-.]+)?\.[\w\-]+#is', $str) ? true : false;
  17. }
  18. /**
  19. * 正则表达式验证网址
  20. *
  21. * @param string $str    所要验证的网址
  22. * @return boolean
  23. */
  24. public static function isUrl($str) {
  25. if (!$str) {
  26. return false;
  27. }
  28. return preg_match('#(http|https|ftp|ftps)://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?#i', $str) ? true : false;
  29. }
  30. /**
  31. * 验证字符串中是否含有汉字
  32. *
  33. * @param integer $string    所要验证的字符串。注:字符串编码仅支持UTF-8
  34. * @return boolean
  35. */
  36. public static function isChineseCharacter($string) {
  37. if (!$string) {
  38. return false;
  39. }
  40. return preg_match('~[\x{4e00}-\x{9fa5}]+~u', $string) ? true : false;
  41. }
  42. /**
  43. * 验证字符串中是否含有非法字符
  44. *
  45. * @param string $string    待验证的字符串
  46. * @return boolean
  47. */
  48. public static function isInvalidStr($string) {
  49. if (!$string) {
  50. return false;
  51. }
  52. return preg_match('#[!#$%^&*(){}~`"\';:?+=<>/\[\]]+#', $string) ? true : false;
  53. }
  54. /**
  55. * 用正则表达式验证邮证编码
  56. *
  57. * @param integer $num    所要验证的邮政编码
  58. * @return boolean
  59. */
  60. public static function isPostNum($num) {
  61. if (!$num) {
  62. return false;
  63. }
  64. return preg_match('#^[1-9][0-9]{5}$#', $num) ? true : false;
  65. }
  66. /**
  67. * 正则表达式验证身份证号码
  68. *
  69. * @param integer $num    所要验证的身份证号码
  70. * @return boolean
  71. */
  72. public static function isPersonalCard($num) {
  73. if (!$num) {
  74. return false;
  75. }
  76. return preg_match('#^[\d]{15}$|^[\d]{18}$#', $num) ? true : false;
  77. }
  78. /**
  79. * 正则表达式验证IP地址, 注:仅限IPv4
  80. *
  81. * @param string $str    所要验证的IP地址
  82. * @return boolean
  83. */
  84. public static function isIp($str) {
  85. if (!$str) {
  86. return false;
  87. }
  88. if (!preg_match('#^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$#', $str)) {
  89. return false;
  90. }
  91. $ipArray = explode('.', $str);
  92. //真实的ip地址每个数字不能大于255(0-255)
  93. return ($ipArray[0]<=255 && $ipArray[1]<=255 && $ipArray[2]<=255 && $ipArray[3]<=255) ? true : false;
  94. }
  95. /**
  96. * 用正则表达式验证出版物的ISBN号
  97. *
  98. * @param integer $str    所要验证的ISBN号,通常是由13位数字构成
  99. * @return boolean
  100. */
  101. public static function isBookIsbn($str) {
  102. if (!$str) {
  103. return false;
  104. }
  105. return preg_match('#^978[\d]{10}$|^978-[\d]{10}$#', $str) ? true : false;
  106. }
  107. /**
  108. * 用正则表达式验证手机号码(*区)
  109. * @param integer $num    所要验证的手机号
  110. * @return boolean
  111. */
  112. public static function isMobile($num) {
  113. if (!$num) {
  114. return false;
  115. }
  116. return preg_match('#^13[\d]{9}$|14^[0-9]\d{8}|^15[0-9]\d{8}$|^18[0-9]\d{8}$#', $num) ? true : false;
  117. }
  118. /**
  119. * 检查字符串是否为空
  120. *
  121. * @access public
  122. * @param string $string 字符串内容
  123. * @return boolean
  124. */
  125. public static function isMust($string = null) {
  126. //参数分析
  127. if (is_null($string)) {
  128. return false;
  129. }
  130. return empty($string) ? false : true;
  131. }
  132. /**
  133. * 检查字符串长度
  134. *
  135. * @access public
  136. * @param string $string 字符串内容
  137. * @param integer $min 最小的字符串数
  138. * @param integer $max 最大的字符串数
  139. */
  140. public static function isLength($string = null, $min = 0, $max = 255) {
  141. //参数分析
  142. if (is_null($string)) {
  143. return false;
  144. }
  145. //获取字符串长度
  146. $length = strlen(trim($string));
  147. return (($length >= (int)$min) && ($length <= (int)$max)) ? true : false;
  148. }
  149. }