C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■95920 / )  Re[3]: VB,NET2013で 数値と英文字を区別したい
□投稿者/ 魔界の仮面弁士 (2864回)-(2020/10/09(Fri) 12:25:37)
No95919 (大谷刑部 さん) に返信
> おっしゃってることはわかりますが全角数字やカンマ編集、小数をTrueとみなすのを悪とするかどうかの問題ですね。

たとえば、半角アルファベットのみの文字列であったとしても、
IsNumeric("NaN") は True を返します。


マルチポスト先も含め、今回の最初の質問は「アルファベットと 数字の判別」という
内容であったことから、IsNumeric に頼ることは危険であると判断致しました。


No95897 で常時 2 文字制限が追加されたとはいえ、将来的に 3 文字に仕様拡張されたら、
この問題が見過ごされてしまう可能性が高いでしょう。
こうした気付きにくい問題を幾つか抱えているため、やはり個人的にはお奨めしません。


文字数チェックや文字種の判定も同時に行えることを考えれば、
最初から正規表現を使った方が確実ですし、スマートだと思います。

正規表現クラスを使うのが煩わしいということであれば、『Like 演算子』を使うことができます。
(Like もカルチャ依存問題があるので完全ではないですが)
返信 編集キー/


管理者用

- Child Tree -