2016-10-25 4 views
0

入力フィールドが既に検証パターンに従わず、全体の値を提供していないという即時のフィードバックをユーザに与えたいという問題に直面しています。Javascriptフィードフォワード検証

例: 英国の郵便番号は[SW1W 0NY]のように見えるかもしれませんが、[SW]と入力してすぐにすべてのことが表示されていることをユーザーに知らせたいと思います例[1]。

これにどのようにアプローチしますか?英国の郵便番号は最大7つの数字になる可能性があるので、郵便番号の長さに基づいて郵便番号をチェックするために7つの正規表現を作成するのではなく、むしろ「フ​​ィードフォワード」というマカニズムを持っています。

+0

最終的な検証に適したパターンがありますか? –

+0

1.2Kの担当者は、努力とコードを投稿することを知っておく必要があります。フライ検証と英国の郵便番号の検証(https://www.google.co.jp/search?q=on%20the%20fly%20validate%20uk%20postcode%20javascript)をお探しください。すべてのテストで問題が発生しますポストコード:http://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive - https://regex101.com/r/NUiHiD/2 – mplungjan

+0

希望するタイプを入力し、setTimeoutを使用して表示しないようにしますまだ有効です。たとえば、赤い枠線のある – mplungjan

答えて

0

最終検証は次のようになります。

/^[a-zA-Z]{1,2}[0-9]{1,2}[a-zA-Z]{0,1} ?[0-9][a-zA-Z]{2}$/ 

、部分検証のために、私はこのような何かしようとするだろう:すべての部品があっても、念のオプションであり、

^([a-zA-Z]{1,2}([0-9]{1,2}([a-zA-Z]{0,1}(?([0-9]([a-zA-Z]{1,2})?)?)?)?)?)?$ 

を最後の部分では1つまたは2つの文字にすることができます。

+1

それは問題ではありませんでした。あなたの正規表現の可能性が十分でない理由についての私のコメントを参照してください。 – mplungjan

+0

私はある種のメカニズム(dunno、正規表現に従わないときはコールバックを呼び出す正規表現フラグかもしれません)を期待していました。 – MelkorNemesis

+0

https://regex101.com/r/NUiHiD/2 – mplungjan