我目前有一个用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>
答案 0 :(得分:0)
要采用上面在Java代码中说明的相同想法,可以在字符串变量上使用方括号表示法来测试每个位置:
function validation($contact)
{
return intval($contact[0]) == 0 && intval($contact[1]) == 3 && intval($contact[2]) >= 0 && intval($contact[2]) <= 4;
}
您可以通过正则表达式匹配来更有效,更优雅地实现此功能:
function validation($contact)
{
return preg_match('/^03[0-4]/', $contact) === 1
}
答案 1 :(得分:0)
考虑使用正则表达式来验证数据。在PHP中:
$rgx = '/^03[0-4]/'; // the expression
if(preg_match($rgx, $your_number) === 1){
.....
}
034xxxxxxx
将匹配
035xxxxxxx
不会
如果您想进一步研究正则表达式,这里有一些有用的站点: