首页 > 解决方案 > 正则表达式验证路由器参数不起作用

问题描述

我想验证是否正确发送了电子邮件routes,但是当我设置条件时它不起作用regex(如解释here

基本上,我补充说:

Route::group([
    'namespace' => 'Auth',
    'middleware' => 'api',
    'prefix' => 'auth'
], function () {
    Route::post('login', 'AuthController@login');
    // ...
    Route::get('checkemail/{email}', 'AuthController@check_email')->where('email', '@.*?\.');
});

即使我通过了有效的电子邮件,我也会收到一个404 not found. 我该怎么做才能使代码运行良好?

标签: regexlaravelroutingroutes

解决方案


看起来你.+以前@在你的正则表达式中丢失了。

编辑:我忘了提,你可以在 之后放同样的东西@,而当前的正则表达式似乎也是错误的。我不会深入讨论,但由于很多原因,验证电子邮件不应该很复杂。


推荐阅读