0

このパターンに従う入力を含むフォームがあります。

pattern='(\+|00)\d{2,3}[-]\d{8,10}'

例は+999-123456789

javascriptを使用して再度フォーム検証を行う必要があり、パターンを正規表現に変換しようとしました。例はパターンを渡しますが、正規表現を渡すことができません。理由について何か考えはありますか?

var check = /^([00|+])([0-9]{2,3})[-]?([0-9]{8,10})$/;
4

2 に答える 2

1

正規表現が正しくありません。これ:

[00|+]

と同等です

[0|+]

とは、「'0'、'|'、または '+' のいずれかの 1 文字に一致する」ことを意味します。私はあなたが欲しいと思います:

var check = /^(00|\+)(\d{2,3})-(\d{8,10)$/;
于 2013-05-29T20:22:23.710 に答える
0

正規表現に転送されたパターンは次のとおりです/(\+|00)\d{2,3}-{0,1}\d{8,10}$/。以下の例。

var number = '+999-123456789';

if (number.match(/(\+|00)\d{2,3}-{0,1}\d{8,10}$/)) {
  alert('Phone number valid!');
} else {
  alert('Phone number invalid.');
}

于 2014-12-21T04:02:20.010 に答える