1

電話番号を検証しようとしています。ウェブサイトは米国を拠点としていますが、クライアントは世界中から来ることができます。入力を検証するためにjQueryを使用しています。検証のために与えられたヒントにとても感謝しています。ありがとう。

<input 
     name="phone"  
     type="text" 
     id="phone" 
     minlength="7"
     maxlength="15" 
     style="
               font-family: Verdana;
               color:#FFFFFF;
               font-size: 13px;
               background-color: #0E0E0F;
               border: 1px solid #740086;
               width:385px;
               margin-bottom:10px;
           "
     size="385"
     value="Phone #"
     onfocus="if(this.value==this.defaultValue)this.value='';" 
     onblur="if(this.value=='')this.value=this.defaultValue;"/>
4

4 に答える 4

2

ユーザー JQuery 検証エンジン..その簡単..クールで、私が今まで見た中で最もクリーンな検証フレームワーク..http://www.position-relative.net/creation/formValidator/ このプラグインは既に電話番号の検証を処理しています..それで十分でない場合は、独自のカスタム正規表現を追加して検証を実行できます.

于 2012-06-13T06:08:57.370 に答える
2

http://www.phoneformat.com/

このライブラリを使用して検証できます。また、数値の書式設定も行います。本当に印象的な図書館

于 2012-06-13T06:49:34.127 に答える
1

電話番号はゾーンによって大きく異なります。これに対処する最も簡単な方法は、空であることを検証することです。ただし、本当に電話番号を検証する必要がある場合は、市外局番と地域を考慮して、特殊文字を入力しないようにユーザーに依頼する必要があります。たとえば、アルゼンチンのブエノスアイレスからの携帯電話番号を検証したい場合、少なくとも 2 つの入力フィールドを使用します。1 つは市外局番用で、もう 1 つは実際の番号用です。

別の解決策がここに示されています

さらに別の方法: ユーザーに国コード (またはドロップダウン リストから選択する) を尋ね、次に市外局番 (別のドロップダウンにすることもできますが、すでに国を考慮して動的に設定するのがよいでしょう) を尋ねます。選択されている)、実際の数の別の入力。番号自体を検証しようとせず、特殊な文字やスペースを入力しないようにユーザーに依頼し、番号が入力されたかどうかを確認してください。しかし、それは本当に努力する価値があるとは思いません。ユーザーの実際の番号が本当に必要な場合は、誰かにその番号に電話して確認してもらう必要があります

于 2012-06-13T06:08:33.180 に答える
1

まず、標準の jquery バリデータ プラグインを使用することをお勧めします。URL、電子メール、さらには米国の電話番号などを検証するためのテンプレートが組み込まれています。

次の課題は、バリデータ プラグインを拡張して、任意の電話番号に対して検証する方法です。電話番号の形式は地域によって異なるため、代わりに受け入れ可能な文字に検証を制限できます。たとえば、数字 (0 ~ 9)、括弧、ダッシュなどのみを受け入れます。

その後、プラグインを次のように拡張できます。

jQuery.validator.addMethod("phoneAny", function(phone_number, element) {
phone_number = phone_number.replace(/\s+/g, ""); 
return this.optional(element) || phone_number.length > 9 &&
    phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);

前述の受け入れられた文字セットに一致する正規表現を使用します。

于 2012-06-13T06:14:56.143 に答える