Как я могу перевести следующий JavaScript, чтобы он вместо этого был выполнен на PHP? - PullRequest
0 голосов
/ 25 января 2019

В настоящее время у меня есть сценарий проверки номера телефона, написанный на JavaScript. Я собираюсь перевести мой код с JavaScript на PHP, поскольку остальная часть веб-сайта выполняет все проверки после отправки в PHP.

Правила форматирования должны быть следующими: 1-е и 2-е число должны быть 0 n 3 соответственно. а 3-е число может быть либо 0,1,2,3, либо 4

<script>
   function validation(){
   var a = document.getElementById("contact").value;
   if((a.charAt(0)!=0) || (a.charAt(1)!=3) || ((a.charAt(2)!=0) && (a.charAt(2)!=1)&& (a.charAt(2)!=2) && (a.charAt(2)!=3) && (a.charAt(2)!=4)))
       {
       document.getElementById("message").innerHTML="Contact number is invalid.";
       return false;
      }
  }
      </script>

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Рассмотрите возможность использования регулярных выражений для проверки ваших данных.В PHP:

$rgx = '/^03[0-4]/';   // the expression 

if(preg_match($rgx, $your_number) === 1){
    .....
} 

034xxxxxxx будет соответствовать

035xxxxxxx не будет

Вот несколько полезных сайтов, если вы хотите углубиться в регулярное выражение:

0 голосов
/ 25 января 2019

Чтобы использовать ту же идею, которую вы проиллюстрировали в своем коде Javascript выше, вы можете использовать квадратную скобку в строковой переменной для проверки каждой позиции:

function validation($contact)
{
    return intval($contact[0]) == 0 && intval($contact[1]) == 3 && intval($contact[2]) >= 0 && intval($contact[2]) <= 4;
}

Repl.it

Вы также можете достичь этой функциональности более эффективно и элегантно с помощью сопоставления регулярных выражений:

function validation($contact)
{
    return preg_match('/^03[0-4]/', $contact) === 1
}

Repl.it | Regex101

...