If var is [not] type
检查变量的内容是否为数值,大写字母或其他.
if var is type if var is not type
参数
- var
变量 名.
- type
请参阅下面的备注.
备注
受支持的 Type:
integer | 当 var 非空且包含不带小数点的纯数值字符串 (十进制或十六进制) 时为 true. 允许含有前导和尾随空格和 tab. 字符串可以以加号或减号开始. |
float | 当 var 非空且包含浮点数; 即含有小数点的纯数值字符串时为 true. 允许含有前导和尾随空格和 tab. 字符串可以以加号, 减号或小数点开始. |
number | 当 var 包含整数或浮点数 (上文描述的每种数字) 时为 true. |
digit | 当 var 为空或仅包含由 0 到 9 字符组成的数字时为 true. 不允许出现其他字符, 例如后面这些: 空格, tab, 加号, 减号, 小数点, 十六进制数以及 0x 前缀. |
xdigit | 十六进制数: 除了还允许 A 到 F (大写和小写形式) 字符外, 其他与 digit 相同. 在 v1.0.44.09+, 允许使用 0x 前缀. |
alpha | 当 var 为空或仅包含字母时为 true. 如果字符串中含有任何数字, 空格, tab, 标点或其他非字母的字符时则为 false. 例如, 如果 var 包含一个空格后跟一个字母, 那么它 不会 被看成是 alpha. |
upper | 当 var 为空或仅包含大写字母时为 true. 如果字符串中含有任何数字, 空格, tab, 标点或其他非大写字母的字符时则为 false. |
lower | 当 var 为空或仅包含小写字母时为 true. 如果字符串中含有任何数字, 空格, tab, 标点或其他非小写字母的字符时则为 false. |
alnum | 除了还允许 0 到 9 的数字外, 其他与 alpha 相同. |
space | 当 var 为空或仅包含空白字符时为 true, 其中空白字符包括后面这些字符: 空格 (%A_Space%), tab (%A_Tab% or `t), 换行符 (`n), 回车符 (`r), 垂直 tab (`v) 和进纸符 (`f). |
time | 当 var 包含有效的日期时间戳时为 true, 其中日期时间戳可以是 YYYYMMDDHH24MISS 格式的全部或开始部分. 例如, 类似 2004 这样的 4 位字符串被视为有效的. 使用 StringLen 可以判断是否存在额外的时间部分. 小于 1601 的年份会被视为无效的, 因为操作系统通常不支持它们. 被视为有效的最大年份为 9999. 可以使用单词 DATE 代替 TIME, 效果相同. |
注意: 运算符 "between", "is", "in" 和 "contains" 不支持 用于 表达式 中.
[AHK_L 42+]: 如果没有使用 StringCaseSense Locale, 那么会忽略系统区域设置.
相关
%A_YYYY%, SetFormat, FileGetTime, IfEqual, if var in/contains MatchList, if var between, StringLen, IfInString, StringUpper, EnvAdd, 区块, Else
示例
if var is float MsgBox, %var% is a floating point number. else if var is integer MsgBox, %var% is an integer. if var is time MsgBox, %var% is also a valid date-time.