0

我正在使用 csv 文件使用 laravel 将学生的电子邮件地址上传到 db。CSV 文件包含一个名为“电子邮件”的列,用于列出电子邮件。我想添加一个验证来检查所有电子邮件的格式是否正确。正确的电子邮件地址格式应为@uni.com

请指教

    $path = Input::file('import_file')->getRealPath();
                $data = Excel::load($path, function ($reader) {
                })->get();

if (!empty($data) && $data->count() && !empty($data1) && $data1->count() ) {
                foreach ($data as $key => $value) {
                        $insert[] = ['email' => $value->email]; }

 if (!empty($insert)) {
                    DB::table('users')->insert($insert);
                }

我正在使用 laravel maatwebsite/excel 插件

4

1 回答 1

1

您可以在 PHP 中使用正则表达式检查。请参阅http://php.net/manual/en/function.preg-match.php以供参考。

假设电子邮件地址可以包含从 a 到 z 的任何字符,以下 PHP 代码将检查电子邮件格式是否正确(通常电子邮件地址有下划线、数字(不是第一个字符)等等......所以你需要做一个更复杂的正则表达式来测试它)

$pattern = '/[a-z]+@uni\.com/i';

if(preg_match($pattern, $email) == 1) {

    // Correct email address

} else {

    // Incorrect email address

}
于 2016-06-12T18:07:22.537 回答