2011年2月28日月曜日

VBScript IsNullとかIsEmptyとかIsNumericとか

定義 構文 結果
num = "" Response.Write num
TypeName(num) String
IsNull(num) False
IsEmpty(num) False
IsNumeric(num) False
IsObject(num) False
(num=0) スクリプトエラー
(num="0") False
num = Empty Response.Write num
TypeName(num) Empty
IsNull(num) False
IsEmpty(num) True
IsNumeric(num) True
IsObject(num) False
(num=0) True
(num="0") False
num = null Response.Write num
TypeName(num) Null
IsNull(num) True
IsEmpty(num) False
IsNumeric(num) False
IsObject(num) False
IsNull(num=0) True
IsNull(num="0") True
num = 0 Response.Write num 0
TypeName(num) Integer
IsNull(num) False
IsEmpty(num) False
IsNumeric(num) True
IsObject(num) False
(num=0) True
(num="0") True
num = "0" Response.Write num 0
TypeName(num) String
IsNull(num) False
IsEmpty(num) False
IsNumeric(num) True
IsObject(num) False
(num=0) True
(num="0") True
num = "0"(全角) Response.Write num
TypeName(num) String
IsNull(num) False
IsEmpty(num) False
IsNumeric(num) True
IsObject(num) False
(num=0) True
(num="0") False
num = "〇"(漢数字) Response.Write num
TypeName(num) String
IsNull(num) False
IsEmpty(num) False
IsNumeric(num) False
IsObject(num) False
(num=0) スクリプトエラー
(num="0") False
num = "3D2" Response.Write num 3D2
TypeName(num) String
IsNull(num) False
IsEmpty(num) False
IsNumeric(num) True
IsObject(num) False
(num=300) True
(num="300") False


上記は各データをチェックした一覧です。
想像していたのと、違う結果になっていないでしょうか。

特に↓のような時
Dim num
num = Request("numnum") '←実際はnumnumというnameのデータはポストされていない
numはEmptyとなるので、IsNumericで数値チェックをするとTrueとなってしまいます。

0 件のコメント:

コメントを投稿