2012-04-18 60 views
0

我与我的窗体上的电话号码字段的工作...显示自定义值格式的HTML输入字段

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

我希望这个数字是一个整数,所以我用TYPE =“电话”。是否有可能“屏蔽”数据(即将其格式化而不实际更改底层数据)?

这将使我不必编程改变它来显示它,并反过来改变它来解释它并将它存储在我的数据库中。

P.S.我还需要为SSN领域提供类似的解决方案,所以请不要让您的答案太具体,以便它只适用于电话号码。

回答

1

坦率地说,处理这个问题的最简单方法就是将电话号码作为字符串接受,并在将其存储在数据库中之前去掉服务器端的所有非字母字符。正如你所建议的那样,尝试处理客户端是值得的。

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

然后,你可以拒绝它,如果它不具有10个字符或精确但是你想和验证数据。

显示它也不是非常困难,但是如果您将电话号码视为字符串,则会更容易。

希望这会有所帮助。

相关问题