2012-11-13 2 views
1

그래, 현재 상점 찾기 기능이있는 사이트에서 작업 중이며 상점 찾기는 마을 이름과 우편 번호 모두에서 잘 작동하지만 게시물 코드에는 공백이 있어야합니다. 예. 'RG1 7UE'는 공간없이 작동하지 않습니다. 'RG17UE'자바 스크립트 우편 번호 유효성 검사

그래서 텍스트 상자 (아래 참조)에 우편 번호의 간격을 조정하기 위해 약간의 JS가 있는데 그다지 효과적입니다. 유일한 문제는 이제 JS가 if 상자에 도시 나 도시를 입력합니다. 누구든지이 문제를 해결할 수있는 방법을 알고 있으므로 도시와 우편 번호 모두에 동일한 텍스트 입력 상자를 사용할 수 있습니까? 입력에서 숫자가있는 경우

감사합니다,

<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')"> 
+2

내 게시물 코드는 그렇게 보입니다. 원하는 우편 번호의 사양은 무엇입니까? 사용자에게 그 점에 대한 힌트를주는 것이 좋을 것입니다. – RobG

답변

1

마틴 만 교체 할.

if (/\d/.test(this.value)) { 
    this.value = this.value 
    .replace(/ /g,'') 
    .replace(/^(.{2,4})(.{3})(.*)$/, '$1 $2'); 
} 

우편 번호에는 항상 숫자 (오른쪽?)가 있기 때문에 작동하지만 도시에는 이름에 숫자가 포함되지 않습니다.


하지만 이것은 좋지 않은 디자인처럼 보입니다. 어떤 유형의 시스템은 동일한 입력으로 우편 번호 나 도시를 수용 할만큼 유연하지만 데이터 형식에 대한 엄격한 제한을 강요합니까? 그렇게 엄격하면 코드를 신중한 입력으로 받아 들여야합니다.

+0

정말 고마워! 디자인에 관해서는 예, 좀 긴 이야기입니다. 그래도 도와 ​​줘서 고마워! – nono

0

다른 사람이이 작업을 수행하려는 경우이 방법이 효과적입니다. 감사합니다 @AlexWayne

<input type="text" placeholder="Insert Postcode or Street Name and/or Town..." value="<?php echo $_POST['text'] ?>" id="address" name="name" onblur="if (/\d/.test(this.value)) { 
this.value = this.value 
.replace(/ /g,'') 
.replace(/^(.{2,4})(.{3})(.*)$/, '$1 $2'); 
}" > 
관련 문제