好的,我目前正在一个有商店查找器的站点上工作,并且商店查找器可以很好地使用城镇名称和邮政编码,但是邮政编码中必须有空格。
例如。 '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/

10-13 04:42