<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script> </head> <body> <h1>Is 函数</h1> <pre class="Syntax">Result := Is<i>Something</i>(Value <span class="optional">, Mode</span>)</pre> <p>这些函数进行各种检查. 有三类:</p> <ul> <li><a href="#cat-type">Type</a>: 检查一个值的类型, 或者一个字符串是否可以被解释为该类型的值.</li> <li><a href="#cat-misc">Misc</a>: 根据给定的值或变量引用, 检查杂项条件.</li> <li><a href="#cat-string">String</a>: 检查一个字符串是否符合特定的模式. <em>Value</em> 必须是一个字符串, 否则抛出 <a href="../objects/Error.htm#TypeError">TypeError</a>.</li> </ul> <p><em>Mode</em> 仅对 IsAlpha, IsAlnum, IsUpper 和 IsLower 有效. 默认情况下, 只考虑 ASCII 字母. 要根据当前用户的区域规则执行检查, 请为 <em>Mode</em> 参数指定字符串 <code>"Locale"</code>. 也可以通过指定 0 或 1 来使用默认模式.</p> <h2 id="cat-type">Type</h2> <p>检查一个值的类型, 或者一个字符串是否可以被解释为该类型的值.</p> <table class="info"> <tr> <th style="width:15%">函数</th> <th abbr="Descr">描述</th> </tr> <tr id="integer"> <td>IsInteger</td> <td>如果 <em>Value</em> 是整数或不带小数点的纯数字字符串(十进制或十六进制), 则为 True. 允许前导和尾随空格和制表符. 该字符串可以以加号或减号开头, 并且不能为空.</td> </tr> <tr id="float"> <td>IsFloat</td> <td>如果 <em>Value</em> 是浮点数或包含小数点的纯数字字符串, 则为 True. 允许前导和尾随空格和制表符. 该字符串可以以加号, 减号或小数点开头, 并且不能为空.</td> </tr> <tr id="number"> <td>IsNumber</td> <td>如果 <code>IsInteger(<i>Value</i>) or IsFloat(<i>Value</i>)</code> 为 true, 则为 True.</td> </tr> <tr id="object"> <td><a href="IsObject.htm">IsObject</a></td> <td>如果 <em>Value</em> 是一个<a href="../Objects.htm">对象</a>. 这包括从 <a href="../objects/Object.htm">Object</a> 派生的对象, 原型对象(如 <code>0.base</code>) 和 COM 对象, 但不包括数字或字符串.</td> </tr> </table> <h2 id="cat-misc">Misc</h2> <p>根据给定的值或变量引用, 检查杂项条件.</p> <table class="info"> <tr> <th style="width:15%">函数</th> <th abbr="Descr">描述</th> </tr> <tr id="label"> <td><a href="IsLabel.htm">IsLabel</a></td> <td>如果 <em>Value</em> 是当前作用域中定义的<a href="../misc/Labels.htm">标签</a>的名称, 则为 True.</td> </tr> <tr id="set"> <td><a href="IsSet.htm">IsSet</a></td> <td>如果变量 <em>Value</em> 已经被赋值, 则为 True.</td> </tr> <tr id="setref"> <td><a href="IsSet.htm">IsSetRef</a></td> <td>如果 <em>Value</em> 所包含的 <a href="../Concepts.htm#variable-references">VarRef</a> 已经被赋值, 则为 True.</td> </tr> </table> <h2 id="cat-string">String</h2> <p>检查一个字符串是否符合特定的模式. <em>Value</em> 必须是一个字符串, 否则抛出 <a href="../objects/Error.htm#TypeError">TypeError</a>.</p> <table class="info"> <tr> <th style="width:15%">函数</th> <th abbr="Descr">描述</th> </tr> <tr id="digit"> <td>IsDigit</td> <td>如果 <em>Value</em> 是一个正整数, 一个空字符串, 或仅包含字符 0 到 9 的字符串, 则为 True. 不允许使用其他字符, 例如以下字符: 空格, 制表符, 正号, 负号, 小数点, 十六进制数字, 以及 0x 前缀.</td> </tr> <tr id="xdigit"> <td>IsXDigit</td> <td>十六进制数字: 与 <em>digit</em> 相同, 但也允许使用字符 A 到 F(大写或小写). 如果存在前缀 0x, 则可以接受.</td> </tr> <tr id="alpha"> <td>IsAlpha</td> <td> <p>如果 <em>Value</em> 是字符串, 可以为空字符串或仅包含字母字符. 如果字符串任意位置有任何 digit, 空格, 制表符, 标点或其他非字母的字符时, 则为 False. 例如, 如果 <em>Value</em> 包含一个空格后跟字母, 则 <em>不被</em> 视为 <em>alpha</em>.</p> <p>默认情况下, 只考虑 ASCII 字母. 如果要根据当前用户的区域规则来执行检查, 请使用 <code>IsAlpha(Value, "Locale")</code>.</p> </td> </tr> <tr id="upper"> <td>IsUpper</td> <td> <p>如果 <em>Value</em> 是字符串, 可以为空字符串或仅包含大写字母字符, 则为 True. 如果字符串任意位置有任何 digit, 空格, 制表符, 标点或其他非大写字母的字符时, 则为 False.</p> <p>默认情况下, 只考虑 ASCII 字母. 如果要根据当前用户的区域规则来执行检查, 请使用 <code>IsUpper(Value, "Locale")</code>.</p> </td> </tr> <tr id="lower"> <td>IsLower</td> <td> <p>如果 <em>Value</em> 是字符串, 可以为空字符串或仅包含小写字母字符, 则为 True. 如果字符串任意位置有任何 digit, 空格, 制表符, 标点或其他非小写字母的字符时, 则为 False.</p> <p>默认情况下, 只考虑 ASCII 字母. 如果要根据当前用户的区域规则来执行检查, 请使用 <code>IsLower(Value, "Locale")</code>.</p> </td> </tr> <tr id="alnum"> <td>IsAlnum</td> <td>除了还允许 0 到 9 的数字外, 其他与 <a href="#alpha">IsAlpha</a> 相同.</td> </tr> <tr id="space"> <td>IsSpace</td> <td>如果 <em>Value</em> 是字符串, 可以为空字符串或仅包含下列空白字符: 空格(<a href="../Variables.htm">A_Space</a> 或 `s), 制表符(<a href="../Variables.htm">A_Tab</a> 或 `t), 换行符(`n), 回车符(`r), 垂直制表符(`v) 和进纸符(`f), 则为 True.</td> </tr> <tr id="time"> <td>IsTime</td> <td><p>如果 <em>Value</em> 是有效的日期时间戳, 可以是 <a href="FileSetTime.htm#YYYYMMDD">YYYYMMDDHH24MISS</a> 格式的全部或开始部分, 则为 True. 例如, 类似 2004 这样的 4 位字符串被视为有效的. 使用 <a href="StrLen.htm">StrLen</a> 确定是否存在其他时间分量.</p> <p><em>Value</em> must have an even number of digits between 4 and 14 (inclusive) to be considered valid.</p> <p>小于 1601 的年份会被视为无效的, 因为操作系统通常不支持它们. 被视为有效的最大年份为 9999. </p> </td> </tr> </table> <h2 id="Remarks">备注</h2> <p>由于在脚本开始执行之前, 原义数字(如 <code>128</code>, <code>0x7F</code> 和 <code>1.0</code>) 会转换为纯数字, 因此原义数字的格式会丢失. 为了避免混淆, 上面列出的字符串函数如果给定一个纯数字, 则抛出异常.</p> <h2 id="Related">相关</h2> <p><a href="../Variables.htm#YYYY">A_YYYY</a>, <a href="FileGetTime.htm">FileGetTime</a>, <a href="If.htm">If</a>, <a href="StrLen.htm">StrLen</a>, <a href="InStr.htm">InStr</a>, <a href="StrLower.htm">StrUpper</a>, <a href="DateAdd.htm">DateAdd</a></p> <h2 id="Examples">示例</h2> <div class="ex" id="ExBasic"> <p><a class="ex_number" href="#ExBasic"></a> 检查 <var>var</var> 是浮点数还是整数, 并检查它是否是有效的时间戳.</p> <pre> if isFloat(var) MsgBox var " is a floating point number." else if isInteger(var) MsgBox var " is an integer." if isTime(var) MsgBox var " is also a valid date-time." </pre> </div> </body> </html>