0

我目前正在做一个项目,我需要使用邮政编码从数据库中获取街道/城市详细信息。荷兰邮政编码使用“1111 AA”格式,我希望将其输入到单个输入字段中,同时强制前四个字符为数字,后两个字符为字母。

我已经在谷歌上搜索了很多,找到了强制其中任何一个的方法,但是没有一个可以将它组合到一个输入字段中,而且我似乎不够狡猾,无法自己组合它们。

谢谢你。

4

4 回答 4

1

我们在很多网站中都使用它,尤其是对于电话#s

http://digitalbush.com/projects/masked-input-plugin/

于 2012-10-04T17:18:42.120 回答
0

要处理您输入的特定模式,请在验证表单输入的 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.
}
于 2012-10-04T17:22:22.650 回答
0

您可以为此使用新的 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);

看看演示小提琴

于 2012-10-04T17:23:58.963 回答
0

这最终是一个问题,正则表达式是一个合适的解决方案。

尝试这个:

var zip = "1111 AA"
var regex = new RegExp("^[0-9]{4}\\s?[A-Z]{2}$");
regex.test(zip);

请注意,这将不允许使用小写字符,并且将允许没有空格的邮政编码(例如:1111AA)。尝试一些谷歌搜索以了解如何允许或禁止这些。

于 2012-10-04T17:20:18.433 回答