我目前正在做一个项目,我需要使用邮政编码从数据库中获取街道/城市详细信息。荷兰邮政编码使用“1111 AA”格式,我希望将其输入到单个输入字段中,同时强制前四个字符为数字,后两个字符为字母。
我已经在谷歌上搜索了很多,找到了强制其中任何一个的方法,但是没有一个可以将它组合到一个输入字段中,而且我似乎不够狡猾,无法自己组合它们。
谢谢你。
我目前正在做一个项目,我需要使用邮政编码从数据库中获取街道/城市详细信息。荷兰邮政编码使用“1111 AA”格式,我希望将其输入到单个输入字段中,同时强制前四个字符为数字,后两个字符为字母。
我已经在谷歌上搜索了很多,找到了强制其中任何一个的方法,但是没有一个可以将它组合到一个输入字段中,而且我似乎不够狡猾,无法自己组合它们。
谢谢你。
我们在很多网站中都使用它,尤其是对于电话#s
要处理您输入的特定模式,请在验证表单输入的 javascript 函数中尝试以下操作:
var pattern = new RexExp( '[0-9]{4} [A-Z]{2}' );
if( inputFieldValue.search( pattern ) == -1 )
{
// throw error condition.
}
else
{
// The pattern matched. Continue on.
}
您可以为此使用新的 html5pattern
属性:
<form>
<input name="zipcode" type="text" pattern="\d{4}\s?[A-Z]{2}" length="7" />
<input type="submit" />
</form>
如果该属性不受支持,您可以使用 javascript 解决方案,在提交之前使用正则表达式检查输入字段,如下所示:
var pattern = /[0-9]{4}\s?[A-Z]{2}/;
string.match(pattern);
看看演示小提琴。
这最终是一个问题,正则表达式是一个合适的解决方案。
尝试这个:
var zip = "1111 AA"
var regex = new RegExp("^[0-9]{4}\\s?[A-Z]{2}$");
regex.test(zip);
请注意,这将不允许使用小写字符,并且将允许没有空格的邮政编码(例如:1111AA)。尝试一些谷歌搜索以了解如何允许或禁止这些。