我有一个电话号码输入字段,如下所示:
<input type="text" name="phone" maxlength="10" size="40" value="{$tmp.phone}"><>
我可以在这里申请代码吗?或者我会在外部.php文件中应用一个函数来实现这一点?
代码会是什么样子?
我对所有这些编码都是新手,需要一些帮助。。。
您可以使用新的HTML5属性pattern
。新浏览器在填写正确之前不会发送表单:
<form>
<input type="text" name="phone" pattern="^[0-9]{6}|[0-9]{8}|[0-9]{10}$" />
<input type="submit" />
</form>
如果用户使用的是较旧的浏览器,则会忽略该属性。在这种情况下,您仍然应该按照Daniel和Pheonix的建议进行检查。
即使找到了在HTML中进行检查的方法,也要始终在服务器端进行验证。客户端验证始终可以是旁路的。
在服务器端
$phone = $_GET['phone'];
if(!(strlen($phone)==6 ||strlen($phone)==8 ||strlen($phone)==10)){
//Error
}
为了获得更好的用户体验,您可以使用javascript进行验证,并且出于安全原因,必须使用服务器端验证,正如Pheonix所说。
<form id="form_id">
<input id="phone_id" type="text" />
<input type="submit"
onclick="if (document.getElementById('phone_id').value.length != 6
&& document.getElementById('phone_id').value.length!=8
&& document.getElementById('phone_id').value.length!=10)
{
alert('Error message...');
return false;
}" />
</form>