2012-04-18 111 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個字符或精確但是你想和驗證數據。

顯示它也不是非常困難,但是如果您將電話號碼視爲字符串,則會更容易。

希望這會有所幫助。