2016-11-05 7 views
0

В основном мне нужно проверить письмо с ним, содержащее точные буквы. Допустим, у моего колледжа есть ученик с идентификатором [email protected], я хочу, чтобы проверка заставила ученика вводить x в начале электронного письма, затем 8 случайных чисел их студенческой карточки и, наконец, для проверки требующих @ student.ncirl.ie. Другие мудрые не позволяют студентам зарегистрироваться и войти на сайт.Проверка электронной почты php

код я имею:

if (!filter_var($email,FILTER_VALIDATE_EMAIL)) { 
     $error = true; 
     $emailError = "Please enter valid email address."; 
    } else { 
     // check email exist or not 
     $query = "SELECT userEmail FROM users WHERE userEmail='$email'"; 
     $result = mysql_query($query); 
     $count = mysql_num_rows($result); 
     if($count!=0){ 
      $error = true; 
      $emailError = "Provided Email is already in use."; 
     } 
    } 

Я думал сделать это следующим образом: \b[x0-9._%+-][email protected]\b, но им просто новичок в PHP, и им не в состоянии осуществить это. Если бы кто-нибудь смог, мог бы дать мне руку, создав образец кода? Или краткое описание. Спасибо.

ответ

5

Вам нужно будет копать в функции preg_match().

Ищет предмет, соответствующий регулярному выражению, указанному в шаблоне.

Например:

$email = "[email protected]"; 
$result = preg_match('/^x[\d]{8}@student\.ncirl\.ie$/', $email); 

if ($result) { 
    ... 
    do some stuff 
    ... 
} 

Испытание регулярного выражения на regex101.

Пояснения:

^ утверждает положение в начале строки

х соответствует символу х в буквальном смысле (чувствительно к регистру)

матча один символ присутствует в список ниже:

[\ d] {8}

{8} Квантора - Соответствует ровно 8 раз

\ д соответствует цифре (равной [0-9])

@student соответствует символам @student буквально (с учетом регистра)

. соответствует персонажу. в буквальном смысле (чувствительно к регистру)

ncirl соответствует символы ncirl буквально (чувствительно к регистру)

. соответствует персонажу.в буквальном смысле (чувствительно к регистру)

т.е. соответствует символы, т.е. буквально (чувствительно к регистру)

$ утверждает положение в конце строки, или до терминатора справа линии в конце строки (если таковые имеются)

Надеюсь, это поможет.

+0

Спасибо за ваш ответ, это действительно помогло! :) –

+0

Добро пожаловать. ;) – JazZ

Смежные вопросы