# VerifyString

VerifyString 函数用于验证字符串并生成通过/失败输出。

## VerifyString 输入

参数 | 说明
字符串 | 指定文本字符串或对包含文本字符串的电子表格单元格的引用。
字段字符串 | 指定字符串中包含的字符数，并提供有关字符串中不同位置应包含哪些字符的信息。
字段定义 | （可选）字段定义设置可用于为字段字符串创建用户定义的条目。当包含在字段字符串中时，这些条目将有效字符列表限制在它们插入的位置。

### 字段字符串

字段字符串条目可以是任何字母数字字符，包括（A 到 Z）、（a 到 z）、（0 到 9）、短划线 (-)、点 (.) 和空格 ( )。

字段字符串中的每个字符对应于一个索引字段位置。字段字符串必须至少包含与字符串中字符数相同的位置才能通过字符串验证（即如果存在 10 个字符，但字字段字符串仅指定 9 个字符，将返回最匹配的 9 ; 但是，如果存在 8 个字符并且字段字符串定义了 9 个字符，则该函数将返回 #ERR)。默认情况下，字段字符串中的每个位置都表示为星号 (*) 字符或字母数字“通配符”。这意味着任何字符在字符串中的任何位置都是有效的。

预定义的字段字符串条目是：

字段字符串条目 | 说明 | 有效字符
* | 通配符 | 字体中的任何训练字符。
N | 数字 | 0123456789
A | 大写字母顺序 | ABCDEFGHIJKLMNOPQRSTUVWXYZ
a | 小写字母顺序 | abcdefghijklmnopqrstuvwxyz
H | 十六进制、大写字母和数字 | 0123456789ABCDEF
h | 十六进制、小写字母和数字 | 0123456789abcdef
O | 八进制 | 01234567

字段字符串示例：

- 例 1：如果字段字符串为 **********AN，则字体中的任何字符在前 10 个字段字符串位置都是有效的。但是在第 11 个位置，在验证过程中只会考虑大写字母字符。而在第 12 个位置，只会考虑数字字符。

- 示例 2：该字体仅包含数字字符 0-9 和 /。如果字段字符串为 NN/NN/NN，则第一和第二、第四和第五以及第七和第八位置将只考虑数字字符。在第三个和第六个位置仅考虑正斜杠 (/) 字符。

  但是，如果字段字符串是 NN/NN/AA，则字符串验证将返回 #ERR，因为该字体不包含任何字母字符。

### 字段定义

（可选）字段定义设置可用于为字段字符串创建用户定义的条目。当包含在字段字符串中时，这些条目将有效字符列表限制在它们插入的位置。

您可以通过向该字段添加新定义来覆盖预定义定义。例如，如果字段定义的值为 A=A，则只有 A 字符将被视为有效字符，因为字段定义 A=A 会覆盖预定义的字段字符串条目。

字段定义示例：

- 例 1：如果字段定义的值为 #=123;$=3456;%=789，并且字段字符串为 #$%*******，则在第一个位置唯一有效的字符将是 1 、2 或 3。第二个位置的唯一有效字符是 3、4、5 或 6。而在第三个位置，只有 7、8 或 9 是有效的。字体中的任何字符在第四到第十个位置都是有效的。
- 示例 2：如果字段定义的值为 #=123;$=3456;%=789，A=A，字段字符串为 #$%******A，则在第一个位置唯一有效的字符将是 1 、2 或 3。第二个位置的唯一有效字符是 3、4、5 或 6。而在第三个位置，只有 7、8 或 9 是有效的。字体中的任何字符在第四到第九个位置都是有效的。只有 A 字符将被视为在第十个位置，因为字段定义 A=A 重新映射预定义的字段字符串条目。

## VerifyString 输出

返回 | 引用的 Text 数据结构中字符串的通过/失败状态，如果任何输入参数无效，则为 #ERR。 0 = 失败 1 = 通过