Регулярное выражение проверки формы PHP, без символов и цифр - PullRequest
0 голосов
/ 22 марта 2010

Хорошо, я пытаюсь получить пользователей Имя

форма отлично получает свое имя и отправляет его в переменную.

Теперь я пытаюсь выполнить проверку ошибок

else if(!preg_match("/^[\w-]+$/", $firstNameSignup)) {
       $firstNameSignupError = "Your first name cannot contain numbers or symbols, you entered " . $firstNameSignup;
       $firstNameSignup = "";
      }

Я попробовал приведенный выше код, и он мне не нравится, но мое утверждение if

if(!isset($firstNameSignup) || $firstNameSignup == "") {
   $firstNameSignupError = "You must enter your first name";
  }

отлично работает, поэтому я знаю, что ошибка в том, что оператор if ... скорее всего, в моем регулярном выражении

любая помощь ??? Я в полном недоумении (действительно плохо знаком с PHP и регулярными выражениями)

Спасибо Шелби

Ответы [ 2 ]

0 голосов
/ 22 марта 2010

Preg match возвращает FALSE при ошибке.

Вам нужно сделать так;

иначе if (preg_match ("/ ^ [\ w -] + $ /", $ firstNameSignup) == 0) {// нет совпадений

http://au2.php.net/preg_match

0 голосов
/ 22 марта 2010
else if(preg_match('#[^a-z]+$#i', $firstNameSignup)) {
            $firstNameSignupError = "Your first name cannot contain numbers or symbols, you entered " . $firstNameSignup;
            $firstNameSignup = "";
        }

наконец-то обнаружил, что приведенный выше код работал

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...