【问题标题】:how to validate email addreess on CSV file :: laravel如何验证 CSV 文件中的电子邮件地址 :: laravel
【发布时间】:2016-10-13 03:23:10
【问题描述】:

我正在使用 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 插件

【问题讨论】:

标签: php email csv laravel-5.2 maatwebsite-excel


【解决方案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

}

【讨论】:

  • 附带说明,您不需要检查变量 $data 的两个条件:“不为空”和“计数大于 0”。检查其中任何一个就足够了,因为如果您检查后一个条件,则变量中至少存在一个结果,如果您检查前一个条件(计数大于 0),它也是一样的。
猜你喜欢
  • 2020-03-02
  • 2015-06-25
  • 1970-01-01
  • 1970-01-01
  • 2021-07-03
  • 2014-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多