2014-08-27 82 views
1

我有一个输入字段,该字段链接到可以带有邮编或城市的数据库。问题是,邮编需要在一定的格式,即输入字段格式数据不同 - 取决于输入的数据类型

CB30AX 
cb30ax 
sg120js 
SG120JS 

资本化是不是一个真正的问题,但不能包含任何空格...随着研究,我设法这个脚本如下放在一起:

<script> 
//make sure postcode goes in correct format 
$(document).ready(function() 
    { 
     $('input[name="sCity"]').change(function(){ 
      var postCode = $(this).val(); 

      $(this).val(postCode.replace(/\s/g, '').toUpperCase()) 
     }) 
    }); 
</script> 

但是其中大写所有字母和完全删除空间,在英国也有城市,如:Leigh On SeaCanvey Island其中有一个空间,所以上面的代码将它做成一个字。我怎样才能使代码检测输入是否可以是一个城市或一个邮政编码(也许验证了一个邮政编码,如果返回true它然后相应格式? 提前感谢!

这里是一个FIDDLE

+0

唯一格式上'blur' /'change'输入;如果出现的号码,然后假定它是一个邮政编码,否则它是一个城市名称。 http://jsfiddle.net/0zdd6cr3/1/ – 2014-08-27 08:48:03

回答

2

如果有“重号,则认为它是一个邮政编码,否则它是一个城市的名字

http://jsfiddle.net/0zdd6cr3/2

$('input[name="sCity"]').change(function() { 
    var postCode = this.value.toUpperCase(); 
    if(/\d/.test(postCode)) postCode = postCode.replace(/\s/g, ''); 
    $(this).val(postCode); 
}); 
+0

感谢您的解决方案,我现在将在现场网站上尝试此操作。如果我想要利用城市的第一个字母怎么样?所以如果有人进入canvey岛,它会返回Canvey岛? – 2014-08-27 08:56:44

+0

@ben_dchost - 哦,所以如果它是一个城市,你只能把第一个字母大写? – 2014-08-27 08:57:39

+0

如果有可能我会更喜欢它,但它不是必须:) – 2014-08-27 09:00:40

相关问题