我正在使用表单上的电话号码字段...
<label for="phone_no">Phone:</label>
<input name="phone_no" placeholder="(555)867-5309" type="tel" value="<?php print($_POST['phone_no']); ?>"/>
我希望这个数字是一个整数,所以我使用的是type =“tel”。是否可以“屏蔽”数据(即显示格式化而不实际更改基础数据)?
这样可以避免以编程方式更改它以显示它,然后改变它来解释它并将其存储在我的数据库中。
P.S。我还需要一个SSN字段的类似解决方案,所以请不要让你的答案太具体,以便它只适用于电话号码。
答案 0 :(得分:1)
坦率地说,解决这个问题最简单的方法就是接受电话号码作为字符串,并在将数据库存储到数据库之前剥离任何非字母字符服务器端。如你所知,尝试在客户端处理它是值得的麻烦。
function remove_non_numeric($string) {
return preg_replace('/\D/', '', $string)
}
如果它没有10个字符,或者你想要验证数据的精确度,那么你可以拒绝它。
显示它也不是非常困难,但如果将电话号码视为字符串,你会发现它更容易。
希望这有帮助。