1

電話番号の適切な JavaScript 正規表現を見つけるためにインターネットを閲覧していましたが、見つけたものは必要なものではありません。

私のケースで受け入れられる電話番号の種類は、次のルールに一致する必要があります。

  • +またはで始まる場合があります0-9
  • すべての残りの文字列には、、、およびスペースのみを含めることができ0-9ます-(できれば、数字の間にスペースを 1 つだけ入れてください) 。

私はこれまでにこれを試しました:/^\+[\-\d\s]/しかし、適切な結果が得られません。いくつかのチュートリアルを読もうとしましたが、これは初めてで、何かが足りないようです。

受け入れ可能な電話番号の例: +30 6995 4488551 (スペース可) または 0030 6995 4488551 など。

どんな助けでも大歓迎です!:)

4

2 に答える 2

1

正規表現は、後に1つの数字、数字、または空白文字+が続くもので始まるものと一致します。-したがって、たとえば次のように一致します。

  • + 4qwertzuiopasdfghjkl
  • +-asdfasdfasdfasdf

http://www.regular-expressions.info/の例とチュートリアルを参照することをお勧めします。あなたの電話番号に関しては、より良い正規表現は次のようになります:

/^\+?[\d -]+$/

これは、すべての有効な数字に一致しますが、末尾のスペースのような+---------、または単に+末尾のスペースがある無効な構造にも一致します。多くの無効な組み合わせを拒否することに本当に近づきたい場合は、これを読むことをお勧めしますが、ご覧のとおり、正規表現は乱雑になります。

于 2013-02-14T17:32:39.200 に答える
1

migg の回答に追加 - 正規表現テストの後にフィルターを追加して、たとえば、式に少なくとも最小桁数があることを確認したり、何を持っているかを確認したりできます。例えば、

 if !(phone_number.match(/\d/g).length == 9) inValidate()
于 2013-02-14T18:39:56.893 に答える