从一个输入字段接收的数组如何验证它?

时间:2016-06-01 13:02:03

标签: php

我想从user.how收到十封电子邮件,以检查用户是否提供了正确的电子邮件?我尝试了多种方法,但没有检查,请帮助。

for($i=1;$i<=9;$i++)
{
    echo "<input type='text'  value='' name='email[]' class='form-control'>"."</br>";
}

// Php Code
// Step One Catch The Values
$email = $_POST['email'];
// Unset the empty values from array
foreach($email =>$key as $emails){
if($emails == ""){
 unset($email[$key]);
}
}

我在这里成功完成但是当我尝试验证它时,它返回了我从未面对过的错误。 我想从输入字段中删除html特殊字符,并使用filter_var验证我的输入以进行电子邮件验证。我试图用循环方法做但不起作用。

3 个答案:

答案 0 :(得分:0)

要实现以下代码。当您收到来自最终用户的电子邮件数组时。

if(count($_POST['email']) > 0)
{
 $pattern = "/^\[?[0-9\.]+\]?$/";
  foreach($_POST['email'] as $email)
  {
   if (preg_match($pattern, $email) === 1) {
        // emailaddress is valid
    }
  }
}

答案 1 :(得分:0)

你正在写错误的方式。尝试以下代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/imageViewInvBack"
    android:background="@mipmap/invplaceback"
    android:layout_gravity="center" />

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/imageViewItem"
    android:layout_alignTop="@id/imageViewInvBack"
    android:layout_alignBottom="@id/imageViewInvBack"
    android:layout_alignLeft="@id/imageViewInvBack"
    android:layout_alignRight="@id/imageViewInvBack"
    android:layout_gravity="center_horizontal" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Test"
    android:id="@+id/itemDesc"
    android:gravity="center_vertical|center_horizontal"
    android:layout_gravity="center"
    android:layout_below="@+id/imageViewInvBack"
    android:layout_alignParentStart="true"
    android:layout_marginStart="28dp" />

答案 2 :(得分:0)

检查电子邮件地址是否格式正确的最简单,最安全的方法是使用filter_var()功能:

    if(count($_POST['email']) > 0)
    {
     $email = $_POST['email'];
     foreach($email as $key => $emails)
      {
       if(!filter_var($emails, FILTER_VALIDATE_EMAIL))
       {
          //invalid email
           unset($email[$key]);
       }
       else
       {
          //valid email
       }
     }
  }