我正试图编写一个脚本来检查某人在HTML表单中输入的详细信息。
我的代码很好,但我意识到,如果他们用与数据库中不同的格式键入邮政编码,就会出错。
我只需要取POSTed的邮政编码并更改格式吗?如果是的话,让键入的内容成为一种格式的最佳方法是什么?
例如,在数据库中有一行的邮政编码为SS9 5LY
,但如果有人将其键入为SS95LY
或ss9 5ly
,则它与不匹配
首先,查看ZIP(POSTAL)代码验证Regex。此外,请尝试在验证中使用数据库记录。
有成千上万的方法来解决你的问题。
您可以使用屏蔽输入,也可以在发送到数据库之前使用验证输入文本RegularExpression。还有许多其他人。
您可以使用preg_replace()
从输入中删除任何不需要的字符,将所有字符转换为大写,最后使用substr()
在第三个字符后面添加空格:
$postcode = preg_replace("/[^a-zA-Z0-9]+/", "", $postcode);
$postcode = strtoupper($postcode);
$postcode = substr($postcode, 0, 3) . ' ' . substr($postcode, 3);