0

我正在使用表单上的电话号码字段...

<label for="phone_no">Phone:</label>
<input name="phone_no" placeholder="(555)867-5309" type="tel" value="<?php print($_POST['phone_no']); ?>"/>

我希望这个数字是一个整数,所以我使用 type="tel"。是否可以“屏蔽”数据(即在不实际更改基础数据的情况下显示其格式)?

这将使我不必以编程方式对其进行更改以显示它,然后对其进行更改以解释它并将其存储在我的数据库中。

PS 我还需要一个类似的 SSN 字段解决方案,所以请不要让你的答案太具体,这样它只适用于电话号码。

4

1 回答 1

1

坦率地说,处理这个问题的最简单方法就是接受电话号码作为字符串,并在将其存储到数据库之前在服务器端去除任何非字母字符。按照您的建议尝试在客户端处理它是值得的,这会带来更多麻烦。

function remove_non_numeric($string) {
    return preg_replace('/\D/', '', $string)
}

然后,如果它没有 10 个字符或者您想要验证数据的精确程度,您可以拒绝它。

显示它也不是很困难,但是如果您将电话号码视为字符串,您会发现它更容易做到。

希望这可以帮助。

于 2012-04-18T07:19:16.927 回答