口座番号を確認する必要があります。数字のみで、9 文字または 10 文字であると想定されています。私はこれを試しました:
return Regex.IsMatch(id, "[0-9]{9,10}");
ただし、番号が「1234567890blah」の場合に true を返すため、これは正しく機能していません。私は正規表現が得意ではないので、助けていただけますか?
ありがとう。
数字は文字列全体でなければならないことを示す必要があります。文字列^
の先頭である必要があること$
を示し、終了である必要があることを示すために、先頭に配置します。
return Regex.IsMatch(id, "^[0-9]{9,10}$");
詳細については、正規表現アンカーを参照してください。
(開始と終了の文字、^と$の文字を追加)を使用して変更します
return Regex.IsMatch(id, "^[0-9]{9,10}$");
これは正規表現の問題です。もっとシンプルで明確な解決策があります。
string acct = "1234567890";
long temp;
return (acct.Length == 9 || acct.Length == 10)
&& long.TryParse(acct, out temp);