If var is [not] type


检查一个变量的内容是否为数值、大写字母或其他。

if var is type
if var is not type

参数

var 变量名。
type 请见下面的说明。

注意

支持的 Types:

integer var 非空且包含一个没有小数点的纯数字字符串(十进制或十六进制),则为真。允许开头与结尾有空格和 tab。字符串可以是加号或减号开头。
float var 非空且包含一个浮点数;也就是说一个包含小数点的纯数字字符串,则为真。允许开头与结尾有空格和 tab。字符串可以是加号、减号或小数点开头。
number var 包含一个整数或浮点数(两者都在上面解释过了),则为真。
digit var 为空或者只包含由 0 到 9 组成的数字,则为真。不允许出现后面这样的其他字符:空格、tab、加号、减号、小数点、十六进制数和 0x 前缀。
xdigit 十六进制数值:除了还允许包含 A 到 F (大写或小写)这些字符外,其他与 digit 相同。在 v1.0.44.09 及之后版本中,也容许存在 0x 前缀。
alpha var 为空或只包含按字母排序的字符,则为真。若在字符串的任何地方有任何数字、空格、tab、标点符号或其他不按字母排序的字符出现,则为假。例如,如果 var 包含一个空格后跟一个字母,它将被视为 alpha
upper var 为空或只包含大写字符,则为真。若在字符串的任何地方有任何数字、空格、tab、标点符号或其他未大写的字符出现,则为假。
lower var 为空或只包含小写字符,则为真。若在字符串的任何地方有任何数字、空格、tab、标点符号或其他未小写的字符出现,则为假。
alnum 除了还允许包含 0 到 9 的字符外,其他与 alpha 相同。
space var 为空或只包含由下列字符组成的空白字符:空格 (%A_Space%)、tab (%A_Tab% 或 `t)、换行(`n)、回车(`r)、垂直 tab (`v) 和进纸符(`f),则为真。
time

var 包含一个有效的日期时间标记,则为真,日期时间标记可以全部是 YYYYMMDDHH24MISS 格式或者仅仅开头部分是。例如,一个 4 位的数字字符串比如 2004 被视为有效。使用 StringLen 可以确定是否存在额外的时间部分。

小于 1601 的年份将被视为无效,因为操作系统通常不支持它们。被视为有效的最大的年份是 9999。

可以使用单词 DATE 来代替 TIME,结果相同。

注意:表达式中不支持 "between", "is", "in" 和 "contains" 运算符。

相关命令

%A_YYYY%, SetFormat, FileGetTime, IfEqual, if var in/contains MatchList, if var between, StringLen, IfInString, StringUpper, EnvAdd, Blocks, Else

示例

if var is float
    MsgBox, %var% 是一个浮点数。
else if var is integer
    MsgBox, %var% 是一个整数。
if var is time
    MsgBox, %var% 也是一个有效的日期时间。

翻译:wz520   修正:天堂之门 menk33@163.com 2008年11月24日