AppServiceProvider.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | LARAVEL8.0 框架 [ LARAVEL ][ RXThinkCMF ]
  4. // +----------------------------------------------------------------------
  5. // | 版权所有 2017~2021 LARAVEL研发中心
  6. // +----------------------------------------------------------------------
  7. // | 官方网站: http://www.laravel.cn
  8. // +----------------------------------------------------------------------
  9. // | Author: laravel开发员 <laravel.qq.com>
  10. // +----------------------------------------------------------------------
  11. namespace App\Providers;
  12. use Illuminate\Support\Facades\Validator;
  13. use Illuminate\Support\ServiceProvider;
  14. class AppServiceProvider extends ServiceProvider
  15. {
  16. /**
  17. * Register any application services.
  18. *
  19. * @return void
  20. */
  21. public function register()
  22. {
  23. //
  24. \DB::listen(function ($query) {
  25. $bindings = $query->bindings;
  26. $sql = $query->sql;
  27. foreach ($bindings as $replace) {
  28. $value = is_numeric($replace) ? $replace : "'" . $replace . "'";
  29. $sql = preg_replace('/\?/', $value, $sql, 1);
  30. }
  31. });
  32. }
  33. /**
  34. * Bootstrap any application services.
  35. *
  36. * @return void
  37. */
  38. public function boot()
  39. {
  40. //验证手机号码
  41. Validator::extend('mobile', function ($attribute, $value, $parameters, $validator) {
  42. // 返回true/false
  43. $reg='/^1[3-9]\d{9}$/';
  44. return preg_match($reg,$value);
  45. });
  46. Validator::extend('email', function ($attribute, $value, $parameters, $validator) {
  47. // 返回true/false
  48. $reg='/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/';
  49. return preg_match($reg,$value);
  50. });
  51. // 身份证号码
  52. Validator::extend('idcard', function ($attribute, $value, $parameters, $validator) {
  53. // 返回true/false
  54. $reg='/(^\d{15}$)|(^\d{17}([0-9]|X))$/isu';
  55. return preg_match($reg,$value);
  56. });
  57. }
  58. }