RegularHelper.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <?php
  2. namespace common\helpers;
  3. /**
  4. * 正则匹配验证
  5. *
  6. * Class RegularHelper
  7. * @package common\helpers
  8. */
  9. class RegularHelper
  10. {
  11. /**
  12. * 验证
  13. *
  14. * @param string $type 方法类型
  15. * @param string $value 值
  16. * @return false|int
  17. */
  18. public static function verify($type, $value)
  19. {
  20. return preg_match(self::$type(), $value);
  21. }
  22. /**
  23. * 手机号码正则
  24. *
  25. * @return string
  26. */
  27. public static function mobile()
  28. {
  29. return '/^(?:1[3-9]\d{9}|(?:\+852|00852)?\d{8})$/';
  30. }
  31. /**
  32. * 邮箱正则
  33. *
  34. * @return string
  35. */
  36. public static function email()
  37. {
  38. return '/^[a-zA-Z0-9!#$%&\'*+\\/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&\'*+\\/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$/';
  39. }
  40. /**
  41. * 电话正则
  42. * 格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX
  43. *
  44. * @return string
  45. */
  46. public static function telephone()
  47. {
  48. return '/^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$/';
  49. }
  50. /**
  51. * 身份证正则
  52. *
  53. * @return string
  54. */
  55. public static function identityCard()
  56. {
  57. // return '/^\d{15}|\d{}18$/';
  58. return '/^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/';
  59. }
  60. /**
  61. * 密码正则
  62. * 密码以字母开头,长度在6-18之间,只能包含字符、数字和下划线
  63. *
  64. * @return string
  65. */
  66. public static function password()
  67. {
  68. return '/^[a-zA-Z]\w{5,17}$/';
  69. }
  70. /**
  71. * 验证是否是url
  72. *
  73. * @return string
  74. */
  75. public static function url()
  76. {
  77. return '/(http:\/\/)|(https:\/\/)/i';
  78. }
  79. /**
  80. * @name:
  81. * @msg: swoole 定时任务验证规则
  82. * @param {*}
  83. * @return {*}
  84. */
  85. public static function crontabSwoole()
  86. {
  87. return '/^((\*(\/[0-9]+)?)|[0-9\-\,\/]+)\s+((\*(\/[0-9]+)?)|[0-9\-\,\/]+)\s+((\*(\/[0-9]+)?)|[0-9\-\,\/]+)\s+((\*(\/[0-9]+)?)|[0-9\-\,\/]+)\s+((\*(\/[0-9]+)?)|[0-9\-\,\/]+)\s+((\*(\/[0-9]+)?)|[0-9\-\,\/]+)$/i';
  88. }
  89. /**
  90. * @name:
  91. * @msg: linux 定时任务验证规则
  92. * @param {*}
  93. * @return {*}
  94. */
  95. public static function crontabLinux()
  96. {
  97. return '/^((\*(\/[0-9]+)?)|[0-9\-\,\/]+)\s+((\*(\/[0-9]+)?)|[0-9\-\,\/]+)\s+((\*(\/[0-9]+)?)|[0-9\-\,\/]+)\s+((\*(\/[0-9]+)?)|[0-9\-\,\/]+)\s+((\*(\/[0-9]+)?)|[0-9\-\,\/]+)$/i';
  98. }
  99. }