この^((\d-\d{3})|(\d{1,3}))\-\d{3}-\d{7}$
正規表現を使用して電話番号を検証します。
ただし、次の有効な番号は受け付けません。何が問題ですか?最後のゼロと関係があるのでしょうか?
90-312-2488900
あなたの正規表現は正しく動作しているようです。
おそらく、問題はあなたの例の最後のスペースにあります。string.Trimで削除するか、正規表現に追加\s*
してください (または、数値のすべてのグループの間に追加することもできます。
例の最後のスペースは、一致しない原因です。regexpalに移動し 、正規表現を入力します。例を試すと、一致するものと一致しないものが表示されます。スペースがなくても大丈夫です。JleruOHep が推奨するように、文字列をトリミングするか、正規表現で空白を許可してください。
黄色のハイライトが一致します。