1

さて、私は現在、ストア ファインダーを備えたサイトに取り組んでおり、ストア ファインダーは町名と郵便番号の両方でうまく機能しますが、郵便番号にはスペースが必要です。例: 'RG1 7UE' で、スペースがないと機能しません 例: 'RG17UE'

だから私は郵便番号の間隔を調整するためにテキストボックス(以下を参照)に少しの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' )">
4

2 に答える 2

1

入力に数字がある場合にのみ置換を行います。

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

郵便番号には常に数字が含まれているため機能しますが (そうですか?)、都市には名前に数字が含まれることはありません。


しかし、そうは言っても、これは貧弱な設計のようです。同じ入力で郵便番号や市区町村を受け入れるのに十分柔軟で、データの形式に関して厳密な制約を課すシステムはどのようなものですか? それほど厳密な場合は、控えめな入力でコードを受け入れる必要があります。

于 2012-11-13T00:56:26.137 に答える
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' );
}" >
于 2012-11-20T02:09:36.637 に答える