2016-08-18 24 views
1
私はXが数字のある (0[2,3,6,7,8,or 9]) XXXXXXXX形式の電話番号と一致する式を見つけようとしている

、スペースが一致しなければならないので、Javascriptがregex-電話番号

私の現在の式は括弧である必要があります:

/\b\(0[236789]\)\s(\d){8}\b/g 

が、私は正規表現の電話番号の質問はSO上のスパムメールを取得知っているように

(02) 12345678 

として任意のテスト番号を拾っていません。私はこの点まで私がどのようにしたかを見出すことができるすべてのものを読んできましたが、私の人生にとってこれを理解することはできません。

+3

'\ b'は単語境界を表します。あなたがテストしている文字列は、おそらく単語境界で始まり、終わらないでしょう。 – Titus

+0

ああ、私はあなたのパターンがテストされている価値の始まりであることを確認したと思った。 – Jordan

+0

'/^\(0 [236789] \)\ s(\ d){8} $ /'になります。 '^'は文字列の開始を表し、 '$'は文字列の終わりを表します。 – Titus

答えて

1

ちょうど両端に\ bを削除し、それはあなたが望むものであるならば、それは

/\(0[236789]\)\s(\d){8}/g 

はこのわからない、複数の電話番号と一致します動作するはずです。あなたは最初から最後まで文字列全体が完全な電話番号で、あなたはこの

/^\(0[236789]\)\s(\d){8}$/ 

これは(02)12345678にマッチします行うことができ、そして周りの任意の文字がある場合は動作しませんを確認するには文字列。

+0

このような単純な間違いは私が作っていましたが、私は気づいていませんでした。ありがとう、それをテストしていて、すべて元気でした。 – Jordan

関連する問題