Is関数

与えられた値の型やその他の条件をチェックするための関数です。

Result := IsSomething(Value , Mode)

3つのカテゴリーがあります:

Modeは、IsAlpha、IsAlnum、IsUpper、IsLowerに対してのみ有効です。デフォルトでは、ASCII文字のみが考慮されます。代わりに、現在のユーザーのロケールの規則に従ってチェックを行うには、Modeパラメータに文字列"Locale"を指定します。また、0または1を指定することで、デフォルトのモードを使用することができます。

Type

値の型、または文字列がその型の値として解釈できるかどうかを確認します。

関数 説明
IsInteger Valueが整数または小数点を含まない純粋な数値文字列(10進数または16進数)である場合に真となる。先頭および末尾のスペースとタブは使用可能です。文字列は、プラスまたはマイナスの記号で始まることができ、空であってはなりません。
IsFloat Valueが浮動小数点数または小数点を含む純粋な数値文字列である場合に真となります。先頭および末尾のスペースとタブは使用可能です。文字列は、プラス記号、マイナス記号、または小数点で始まることができ、空であってはなりません。
IsNumber IsInteger(Value) or IsFloat(Value)が真であれば真。
IsObject Valueオブジェクトの場合、真。Objectから派生したオブジェクト、0.baseなどのプロトタイプオブジェクト、COMオブジェクトも含まれますが、数値や文字列は含まれません。

Misc

与えられた値や変数の参照に基づき、様々な条件をチェックします。

関数 説明
IsLabel Valueが現在のスコープ内で定義されたラベルの名前である場合、真となる。
IsSet 変数Valueに値が割り当てられている場合、真。
IsSetRef Valueが含むVarRefに値が割り当てられている場合は真。

String

文字列が指定したパターンに一致するかをチェックします。Valueは文字列でなければならず、そうでない場合はTypeErrorが投げられる。

関数 説明
IsDigit Valueが正の整数、空文字列、または 0 から 9 までの文字のみを含む文字列の場合、真。その他、以下のような文字は使用できません:スペース、タブ、プラス記号、マイナス記号、小数点、16進数、0xの接頭辞。
IsXDigit 16進数の数字:A~Fの文字(大文字、小文字)も使用できる以外は、IsDigitと同じです。0xの接頭辞があっても許容されます。
IsAlpha

Valueが文字列で、空であるか、アルファベット文字のみを含む場合に真となります。文字列のどこかに数字、空白、タブ、句読点、その他の非アルファベット文字がある場合は偽とします。例えば、Valueにスペースがあり、その後に文字が続く場合は、αとはみなされない

デフォルトでは、ASCII文字のみが考慮されます。代わりに、現在のユーザーのロケールの規則に従ってチェックを行うには、IsAlpha(Value, "Locale")を使用します。

IsUpper

Valueが文字列で、空であるか、大文字のみを含む場合に真とします。文字列のどこかに数字、空白、タブ、句読点、その他の大文字でない文字がある場合は、偽とします。

デフォルトでは、ASCII文字のみが考慮されます。代わりに、現在のユーザーのロケールの規則に従ってチェックを行うには、IsUpper(Value, "Locale")を使用します。

IsLower

Valueが文字列で、空であるか、小文字のみを含む場合に真とします。文字列のどこかに数字、空白、タブ、句読点、その他の小文字以外の文字がある場合は偽とします。

デフォルトでは、ASCII文字のみが考慮されます。代わりに、現在のユーザーのロケールの規則に従ってチェックを行うには、IsLower(Value, "Locale")を使用します。

IsAlnum 整数および0から9までの文字も許容することを除いて、IsAlphaと同じ。
IsSpace Valueが文字列で、空であるか、または以下の文字からなる空白のみを含む場合に真とします:スペース(A_Spaceまたは `s)、タブ(A_Tabまたは `t)、ラインフィード(`n)、リターン(`r)、垂直タブ(`v)、フォームフィード(`f)。
IsTime

Valueが有効な日付-時間スタンプであれば真。YYYYMMDDHH24MISSフォーマットの先頭部分のみでもよいです。例えば、2004のような4桁の文字列は有効であると判断されます。StrLenを使用して、追加の時間コンポーネントが存在するかどうかを判断します。

は、4~14(含)の偶数桁でなければ有効とはみなされない。

1601年未満の年号は、OSが一般的にサポートしていないため、有効な年号とはみなされません。有効な年号は最大9999年です。

備考

1280x7F1.0などのリテラル数値は、スクリプトの実行開始前に純粋な数値に変換されるため、リテラル数値のフォーマットは失われます。混乱を避けるため、上記の文字列関数は、純粋な数値が与えられると例外を発生させます。

A_YYYYFileGetTimeIfStrLenInStrStrUpperDateAdd

varが浮動小数点数か整数かをチェックし、有効なタイムスタンプかどうかをチェックします。

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."