電話番号の正規表現で「-」を許可しようとしていますが、- は通常、範囲 (AZ など) に使用されます。では、どうすればキャラクターだけを許可できますか? /- を使用してエスケープしようとしましたが、うまくいきません。
$reg_num = "/[^0-9+ ()]/";
バックスラッシュでエスケープする必要があります\
。したがって、 のように記述する必要があります\-
。
2 つの文字の間の「-」ではなく、最後に記述します。非常に単純化され
た例: 0-9 が範囲であり、最後の が[0-9-]
一致する別のダッシュ記号である場合に一致します。099-2233-3333
-
のように範囲の最初に置き[^-0-9+ ()]
ます。範囲を定義するには、ハイフンで 2 つの文字を区切る必要があります。そうでない場合 (この場合、^
もセット内の文字ではなく修飾子として解釈されるため)、それは他の文字と同様にセット内の単なる文字です。
を使用してエスケープ\-
\
はエスケープキャラクターです!