このパターンに従う入力を含むフォームがあります。
pattern='(\+|00)\d{2,3}[-]\d{8,10}'
例は+999-123456789
javascriptを使用して再度フォーム検証を行う必要があり、パターンを正規表現に変換しようとしました。例はパターンを渡しますが、正規表現を渡すことができません。理由について何か考えはありますか?
var check = /^([00|+])([0-9]{2,3})[-]?([0-9]{8,10})$/;
このパターンに従う入力を含むフォームがあります。
pattern='(\+|00)\d{2,3}[-]\d{8,10}'
例は+999-123456789
javascriptを使用して再度フォーム検証を行う必要があり、パターンを正規表現に変換しようとしました。例はパターンを渡しますが、正規表現を渡すことができません。理由について何か考えはありますか?
var check = /^([00|+])([0-9]{2,3})[-]?([0-9]{8,10})$/;
正規表現が正しくありません。これ:
[00|+]
と同等です
[0|+]
とは、「'0'、'|'、または '+' のいずれかの 1 文字に一致する」ことを意味します。私はあなたが欲しいと思います:
var check = /^(00|\+)(\d{2,3})-(\d{8,10)$/;
正規表現に転送されたパターンは次のとおりです/(\+|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.');
}