好的,我目前正在一个有商店查找器的站点上工作,并且商店查找器可以很好地使用城镇名称和邮政编码,但是邮政编码中必须有空格。
例如。 'RG1 7UE',如果没有空格(例如, 'RG17UE'
因此,我在文本框上有一些JS(请参见下文)来调整邮政编码上的间距,而且效果很好,现在唯一的问题是,如果您在JS上键入城镇或城市,JS会在其中放置一个空格盒子。有谁知道我如何解决这个问题,以便我可以对城市和邮政编码使用相同的文本输入框?
谢谢,
马丁
<input type="text" placeholder="Enter a postcode or town/city..." value="<?php echo $_POST['text'] ?>" id="address" name="text" class="locator_inputform px192 search-box" onblur="this.value = this.value.replace(/ /g,'').replace( /^(.{2,4})(.{3})(.*)$/, '$1 $2' )">
最佳答案
仅当输入中有数字时才进行替换。
if (/\d/.test(this.value)) {
this.value = this.value
.replace(/ /g,'')
.replace( /^(.{2,4})(.{3})(.*)$/, '$1 $2' );
}
之所以有效,是因为邮政编码始终带有数字(对吗?),但是城市的名称永远不会带有数字。
但是,这似乎是一个糟糕的设计。什么样的系统足够灵活,可以通过相同的输入接受邮政编码或城市,但是对数据格式施加了严格的约束?如果那么严格,它应该接受谨慎输入的代码。
关于javascript - Javascript邮政编码验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13353966/