0

ユーザーに複数の携帯電話番号を入力してもらいたいテキスト ボックスがあります。各番号は 10 桁のみで、カンマで区切る必要があります。コンマ以外の特殊文字は使用できません。スペースも使用できません。

4

6 に答える 6

5

テキストボックスから値を取得する方法を理解できると思います。

番号の検証を行う正​​規表現は次のとおりです。

/^(\d{10}(,\d{10})*)?$/

これにより、フィールドを空白にすることができますが、何かを入力する場合は、コンマで区切った1つ以上の10桁の数字にする必要があります。

于 2012-11-27T08:44:54.113 に答える
1

全体に対して 1 つの正規表現を見つける代わりに、それを分割して各セグメントの式をテストし、悪いものを削除して元に戻すことができます。このようにして、理論的には何百もの電話番号を照合できます:)

var numbers = 'aaa,456,789'.split(',').filter(function(item) {
    return /^\d{10}$/.test(item)
});

if (numbers.length > 2) {
    // too many numbers?
} else if (!numbers.length) {
    // no numbers?
}

// this will give you back a comma separated list in a string
// numbers.join(',')

すべてのブラウザArray.filter()で動作するとは限らないことに注意してください。そのため、適切な代替手段を見つける必要があります。

于 2012-11-27T08:48:07.853 に答える
0

あなたはこれを行うことができます

/^\d{10}(,\d{10})*$/

\d{10}10桁に一致

(,\d{10})*マッチ,と10桁の0~何度でも

于 2012-11-27T08:42:07.243 に答える
0

電話番号の検証機能。フィールドが空のままの場合、これは true に検証されます。

function validateNumbers( text ) {
    var numbers = text.split(",");

    for( var i = 0, len = numbers.length; i < len; i++ ) {
         if( !/^\d{10}$/.test( numbers[i] ) ) {
             return false;
         }
    }
    return true;
}
于 2012-11-27T09:14:34.473 に答える
0

次の正規表現パターンのいずれかを使用します。

  • /^(\d{10}(,(?=.))?)+$/

  • /^(\d{10}(,(?=.)|$))+/

  • /^(\d{10}(,(?=.)|))+$/

  • /^\d{10}(,\d{10})*$/

于 2012-11-27T09:53:59.663 に答える
0

他のものと同様ですが、その\d{10}部分を繰り返す必要はありません

^(?:\d{10},?\b)+$
于 2012-11-27T09:01:40.907 に答える