如何转换以下JavaScript,使其改为在PHP中完成?

时间:2019-01-25 14:19:38

标签: javascript php validation phone-number

我目前有一个用JavaScript编写的电话号码验证脚本,我想要做的是将我的代码从JavaScript转换为PHP,因为该网站的其余部分一旦使用PHP提交就进行所有验证。

格式规则应如下: 第一个和第二个数字必须分别为0 n 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 :(得分:0)

要采用上面在Java代码中说明的相同想法,可以在字符串变量上使用方括号表示法来测试每个位置:

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

答案 1 :(得分:0)

考虑使用正则表达式来验证数据。在PHP中:

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

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

034xxxxxxx将匹配

035xxxxxxx不会

如果您想进一步研究正则表达式,这里有一些有用的站点: