# 全部常量

当前规范包含 **145 个公开整数常量**，于 2026-10-18 从公开常量清单与 IDE 注释同步。常量名称区分大小写；内部许可状态、密钥编号和私有材料不属于公开 API。

## 密钥与加密

### `NAISI_RSA_KEY_TYPE_PRIVATE`

- 值：`1`
- 用途：RSA 私钥选择器。 从受控可导出密钥库中加载 private_key。
- 使用函数：[naisi_load_rsa_pem_key](/web/developers/naisilib/naisi-load-rsa-pem-key)

### `NAISI_RSA_KEY_TYPE_PUBLIC`

- 值：`2`
- 用途：RSA 公钥选择器。 从受控可导出密钥库中加载 public_key。
- 使用函数：[naisi_load_rsa_pem_key](/web/developers/naisilib/naisi-load-rsa-pem-key)

### `NAISI_AES_CIPHER_GCM`

- 值：`1`
- 用途：AES 材料派生默认模式：返回 32 字节密钥的标准 Base64 字符串。
- 使用函数：[naisi_derive_aes_key_material](/web/developers/naisilib/naisi-derive-aes-key-material)

### `NAISI_AES_CIPHER_CBC`

- 值：`2`
- 用途：前端业务的 CBC 材料派生模式：返回二进制 key/iv 数组，当前长度为 32/25 字节。 仅用于材料派生；25 字节 iv 不能直接作为通用 AES-CBC 的 16 字节 IV。
- 使用函数：[naisi_derive_aes_key_material](/web/developers/naisilib/naisi-derive-aes-key-material)

## 文件与缓存

### `NAISI_FILE_WRITE_MODE_OVERWRITE`

- 值：`1`
- 用途：覆盖写入模式。 对应安全打开模式 w，创建或截断目标文件。
- 使用函数：[naisi_write_file_content](/web/developers/naisilib/naisi-write-file-content)

### `NAISI_FILE_WRITE_MODE_APPEND`

- 值：`2`
- 用途：追加写入模式。 对应安全打开模式 a，从目标文件末尾追加内容。
- 使用函数：[naisi_write_file_content](/web/developers/naisilib/naisi-write-file-content)

### `NAISI_FILE_WRITE_MODE_EXCLUSIVE`

- 值：`3`
- 用途：独占创建模式。 对应安全打开模式 x；目标文件已经存在时写入失败。
- 使用函数：[naisi_write_file_content](/web/developers/naisilib/naisi-write-file-content)

### `NAISI_FILE_WRITE_MODE_UPDATE`

- 值：`4`
- 用途：原位更新模式。 对应安全打开模式 c；从文件开头写入且不自动截断已有内容。
- 使用函数：[naisi_write_file_content](/web/developers/naisilib/naisi-write-file-content)

### `NAISI_FILE_HASH_SHA256`

- 值：`1`
- 用途：SHA-256 文件摘要算法。 要求 naisi_file_hash() 返回 64 个小写十六进制字符组成的 SHA-256。
- 使用函数：[naisi_file_hash](/web/developers/naisilib/naisi-file-hash)

### `NAISI_FILE_HASH_QETAG`

- 值：`2`
- 用途：QETAG 文件摘要算法。 要求 naisi_file_hash() 使用 4 MiB 分块、SHA-1 和 URL-safe Base64 规则返回 QETAG。
- 使用函数：[naisi_file_hash](/web/developers/naisilib/naisi-file-hash)

### `NAISI_FILE_CACHE_DATA`

- 值：`0`
- 用途：普通数据文件缓存类型。 写入 Naisi 序列化数据、固定 Header、CRC32 和轻量二进制扰码；读取时自动校验并反序列化。
- 使用函数：[naisi_file_cache_write](/web/developers/naisilib/naisi-file-cache-write)

### `NAISI_FILE_CACHE_RAW`

- 值：`1`
- 用途：原始文件缓存类型。 只接受字符串和零 TTL，按原始字节写入，不增加 Header、序列化、CRC 或扰码。
- 使用函数：[naisi_file_cache_write](/web/developers/naisilib/naisi-file-cache-write)

## 许可错误输出

### `NAISI_LICENSE_ERROR_TYPE_JSON`

- 值：`0`
- 用途：JSON 许可错误输出。 返回包含 code、空 resource 和 error 的 JSON 字符串。
- 使用函数：[naisi_output_ext_license_error](/web/developers/naisilib/naisi-output-ext-license-error)

### `NAISI_LICENSE_ERROR_TYPE_HTML`

- 值：`1`
- 用途：HTML 许可错误输出。 返回完整 HTML5 文档，h1 显示 code，h3 显示已转义的 message。
- 使用函数：[naisi_output_ext_license_error](/web/developers/naisilib/naisi-output-ext-license-error)

### `NAISI_LICENSE_ERROR_TYPE_TEXT`

- 值：`2`
- 用途：纯文本许可错误输出。 按 code:message 格式返回纯文本。
- 使用函数：[naisi_output_ext_license_error](/web/developers/naisilib/naisi-output-ext-license-error)

## 时间规则

### `NAISI_TIME_RULE_IN_NEXT`

- 值：`1`
- 用途：未来窗口内时间规则。 目标时间必须严格晚于当前时间，并且严格早于当前时间加指定秒数。
- 使用函数：[naisi_time_rule_matches](/web/developers/naisilib/naisi-time-rule-matches)

### `NAISI_TIME_RULE_IN_PREVIOUS`

- 值：`2`
- 用途：过去窗口内时间规则。 目标时间必须严格早于当前时间，并且当前时间必须严格早于目标时间加指定秒数。
- 使用函数：[naisi_time_rule_matches](/web/developers/naisilib/naisi-time-rule-matches)

### `NAISI_TIME_RULE_BEFORE_NEXT`

- 值：`3`
- 用途：未来边界之前时间规则。 目标时间必须严格早于当前时间加指定秒数，不限制目标时间的下界。
- 使用函数：[naisi_time_rule_matches](/web/developers/naisilib/naisi-time-rule-matches)

### `NAISI_TIME_RULE_AFTER_PREVIOUS`

- 值：`4`
- 用途：过去边界之后时间规则。 当前时间必须严格早于目标时间加指定秒数，不限制目标时间的上界。
- 使用函数：[naisi_time_rule_matches](/web/developers/naisilib/naisi-time-rule-matches)

### `NAISI_TIME_RULE_AFTER_NEXT`

- 值：`5`
- 用途：未来边界之后时间规则。 目标时间必须严格晚于当前时间加指定秒数。
- 使用函数：[naisi_time_rule_matches](/web/developers/naisilib/naisi-time-rule-matches)

## 随机字符集

### `NAISI_RANDOM_CHARSET_ALL`

- 值：`1`
- 用途：完整随机字符集选择器。 生成内容可从大写字母、小写字母、数字和特殊符号中选取。
- 使用函数：[naisi_generate_random_string](/web/developers/naisilib/naisi-generate-random-string)

### `NAISI_RANDOM_CHARSET_DEFAULT`

- 值：`2`
- 用途：默认随机字符集选择器。 要求随机字符串函数使用库定义的默认字符集合；适合调用方不需要限定字符类别的场景。
- 使用函数：[naisi_generate_random_string](/web/developers/naisilib/naisi-generate-random-string)

### `NAISI_RANDOM_CHARSET_UPPER`

- 值：`3`
- 用途：大写字母随机字符集选择器。 生成内容只从大写英文字母中选取。
- 使用函数：[naisi_generate_random_string](/web/developers/naisilib/naisi-generate-random-string)

### `NAISI_RANDOM_CHARSET_LOWER`

- 值：`4`
- 用途：小写字母随机字符集选择器。 生成内容只从小写英文字母中选取。
- 使用函数：[naisi_generate_random_string](/web/developers/naisilib/naisi-generate-random-string)

### `NAISI_RANDOM_CHARSET_MARK`

- 值：`5`
- 用途：特殊符号随机字符集选择器。 生成内容只从库允许的标点和特殊符号中选取。
- 使用函数：[naisi_generate_random_string](/web/developers/naisilib/naisi-generate-random-string)

### `NAISI_RANDOM_CHARSET_NUMBER`

- 值：`6`
- 用途：数字随机字符集选择器。 生成内容只从十进制数字字符中选取。
- 使用函数：[naisi_generate_random_string](/web/developers/naisilib/naisi-generate-random-string)

### `NAISI_RANDOM_CHARSET_NUMBER_INDEX`

- 值：`7`
- 用途：索引型数字随机字符集选择器。 用于需要数字索引格式的随机字符串；具体首字符约束由库实现统一处理。
- 使用函数：[naisi_generate_random_string](/web/developers/naisilib/naisi-generate-random-string)

## 数据脱敏

### `NAISI_DESENSITIZATION_DEFAULT`

- 值：`1`
- 用途：默认数据脱敏方式。 按库的通用规则隐藏输入内容，适用于未指定业务数据类型的场景。
- 使用函数：[naisi_desensitize_data](/web/developers/naisilib/naisi-desensitize-data)

### `NAISI_DESENSITIZATION_MOBILE`

- 值：`2`
- 用途：手机号码脱敏方式。 保留便于识别的号码片段，并隐藏手机号码中的敏感位。
- 使用函数：[naisi_desensitize_data](/web/developers/naisilib/naisi-desensitize-data)

### `NAISI_DESENSITIZATION_USERNAME`

- 值：`3`
- 用途：用户名脱敏方式。 按用户名长度和结构隐藏其中的敏感字符。
- 使用函数：[naisi_desensitize_data](/web/developers/naisilib/naisi-desensitize-data)

### `NAISI_DESENSITIZATION_EMAIL`

- 值：`4`
- 用途：电子邮箱脱敏方式。 隐藏邮箱本地部分的敏感字符，同时保留必要的邮箱结构。
- 使用函数：[naisi_desensitize_data](/web/developers/naisilib/naisi-desensitize-data)

### `NAISI_DESENSITIZATION_TEL`

- 值：`5`
- 用途：固定电话号码脱敏方式。 按电话号码规则隐藏中间的敏感号码片段。
- 使用函数：[naisi_desensitize_data](/web/developers/naisilib/naisi-desensitize-data)

### `NAISI_DESENSITIZATION_NAME`

- 值：`6`
- 用途：姓名脱敏方式。 隐藏姓名中的部分字符，同时保留必要的辨识信息。
- 使用函数：[naisi_desensitize_data](/web/developers/naisilib/naisi-desensitize-data)

### `NAISI_DESENSITIZATION_BANK_CARD`

- 值：`7`
- 用途：银行卡号脱敏方式。 隐藏银行卡号的中间敏感位，通常保留首尾必要片段。
- 使用函数：[naisi_desensitize_data](/web/developers/naisilib/naisi-desensitize-data)

### `NAISI_DESENSITIZATION_ID_CARD`

- 值：`8`
- 用途：身份证件号码脱敏方式。 隐藏身份证件号码中的敏感位，保留有限的辨识片段。
- 使用函数：[naisi_desensitize_data](/web/developers/naisilib/naisi-desensitize-data)

### `NAISI_DESENSITIZATION_KEY`

- 值：`9`
- 用途：密钥内容脱敏方式。 用于日志或界面展示密钥时隐藏大部分敏感内容。
- 使用函数：[naisi_desensitize_data](/web/developers/naisilib/naisi-desensitize-data)

### `NAISI_DESENSITIZATION_PASSWORD`

- 值：`10`
- 用途：密码脱敏方式。 用于展示或记录密码字段时隐藏密码内容，避免明文泄露。
- 使用函数：[naisi_desensitize_data](/web/developers/naisilib/naisi-desensitize-data)

## 字符串过滤

### `NAISI_STRING_FILTER_INT`

- 值：`1`
- 用途：整数字符过滤方式。 过滤输入，只保留该模式允许的整数相关字符。
- 使用函数：[naisi_filter_string](/web/developers/naisilib/naisi-filter-string)

### `NAISI_STRING_FILTER_LETTER`

- 值：`2`
- 用途：字母字符过滤方式。 过滤输入，只保留该模式允许的字母字符。
- 使用函数：[naisi_filter_string](/web/developers/naisilib/naisi-filter-string)

### `NAISI_STRING_FILTER_STRING`

- 值：`3`
- 用途：通用字符串过滤方式。 按库的通用安全字符串规则过滤输入。
- 使用函数：[naisi_filter_string](/web/developers/naisilib/naisi-filter-string)

### `NAISI_STRING_FILTER_ENGLISH_STRING`

- 值：`4`
- 用途：英文字符串过滤方式。 按英文、数字及受支持符号组成的字符串规则过滤输入。
- 使用函数：[naisi_filter_string](/web/developers/naisilib/naisi-filter-string)

### `NAISI_STRING_FILTER_HTML`

- 值：`5`
- 用途：HTML 内容过滤方式。 按库的 HTML 内容安全规则过滤输入。
- 使用函数：[naisi_filter_string](/web/developers/naisilib/naisi-filter-string)

## 命名转换

### `NAISI_CAMEL_TO_SNAKE_CASE_UNDERSCORE`

- 值：`1`
- 用途：下划线分隔方式。 要求 CamelCase 转换函数使用下划线连接转换后的单词。
- 使用函数：[naisi_camel_to_snake_case](/web/developers/naisilib/naisi-camel-to-snake-case)

### `NAISI_CAMEL_TO_SNAKE_CASE_DASH`

- 值：`2`
- 用途：连字符分隔方式。 要求 CamelCase 转换函数使用连字符连接转换后的单词。
- 使用函数：[naisi_camel_to_snake_case](/web/developers/naisilib/naisi-camel-to-snake-case)

## IP 名单来源

### `NAISI_IP_SOURCE_SYSTEM_GLOBAL_BLACKLIST`

- 值：`1 << 0`
- 用途：系统全局黑名单来源位。

### `NAISI_IP_SOURCE_ADMIN_BLACKLIST`

- 值：`1 << 1`
- 用途：系统管理员黑名单来源位。

### `NAISI_IP_SOURCE_TENANT_ADMIN_BLACKLIST`

- 值：`1 << 2`
- 用途：租户管理员黑名单来源位。

### `NAISI_IP_SOURCE_SYSTEM_GLOBAL_WHITELIST`

- 值：`1 << 3`
- 用途：系统全局白名单来源位。

### `NAISI_IP_SOURCE_TENANT_API_WHITELIST`

- 值：`1 << 4`
- 用途：租户 API 白名单来源位。

### `NAISI_IP_SOURCE_WECHAT_API_WHITELIST`

- 值：`1 << 5`
- 用途：租户微信 API 白名单来源位。

## 时区

### `NAISI_TIMEZONE_UTC`

- 值：`0`
- 用途：NAISI_TIMEZONE_UTC 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_PRC`

- 值：`1`
- 用途：NAISI_TIMEZONE_PRC 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_SHANGHAI`

- 值：`1`
- 用途：NAISI_TIMEZONE_ASIA_SHANGHAI 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_HONG_KONG`

- 值：`2`
- 用途：NAISI_TIMEZONE_ASIA_HONG_KONG 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_MACAU`

- 值：`3`
- 用途：NAISI_TIMEZONE_ASIA_MACAU 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_TAIPEI`

- 值：`4`
- 用途：NAISI_TIMEZONE_ASIA_TAIPEI 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_TOKYO`

- 值：`5`
- 用途：NAISI_TIMEZONE_ASIA_TOKYO 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_SEOUL`

- 值：`6`
- 用途：NAISI_TIMEZONE_ASIA_SEOUL 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_SINGAPORE`

- 值：`7`
- 用途：NAISI_TIMEZONE_ASIA_SINGAPORE 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_KUALA_LUMPUR`

- 值：`8`
- 用途：NAISI_TIMEZONE_ASIA_KUALA_LUMPUR 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_BANGKOK`

- 值：`9`
- 用途：NAISI_TIMEZONE_ASIA_BANGKOK 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_JAKARTA`

- 值：`10`
- 用途：NAISI_TIMEZONE_ASIA_JAKARTA 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_MANILA`

- 值：`11`
- 用途：NAISI_TIMEZONE_ASIA_MANILA 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_HO_CHI_MINH`

- 值：`12`
- 用途：NAISI_TIMEZONE_ASIA_HO_CHI_MINH 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_KOLKATA`

- 值：`13`
- 用途：NAISI_TIMEZONE_ASIA_KOLKATA 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_DHAKA`

- 值：`14`
- 用途：NAISI_TIMEZONE_ASIA_DHAKA 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_KATHMANDU`

- 值：`15`
- 用途：NAISI_TIMEZONE_ASIA_KATHMANDU 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_KARACHI`

- 值：`16`
- 用途：NAISI_TIMEZONE_ASIA_KARACHI 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_DUBAI`

- 值：`17`
- 用途：NAISI_TIMEZONE_ASIA_DUBAI 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_RIYADH`

- 值：`18`
- 用途：NAISI_TIMEZONE_ASIA_RIYADH 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_JERUSALEM`

- 值：`19`
- 用途：NAISI_TIMEZONE_ASIA_JERUSALEM 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_ASIA_ISTANBUL`

- 值：`20`
- 用途：NAISI_TIMEZONE_ASIA_ISTANBUL 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_EUROPE_LONDON`

- 值：`21`
- 用途：NAISI_TIMEZONE_EUROPE_LONDON 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_EUROPE_PARIS`

- 值：`22`
- 用途：NAISI_TIMEZONE_EUROPE_PARIS 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_EUROPE_BERLIN`

- 值：`23`
- 用途：NAISI_TIMEZONE_EUROPE_BERLIN 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_EUROPE_MADRID`

- 值：`24`
- 用途：NAISI_TIMEZONE_EUROPE_MADRID 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_EUROPE_ROME`

- 值：`25`
- 用途：NAISI_TIMEZONE_EUROPE_ROME 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_EUROPE_AMSTERDAM`

- 值：`26`
- 用途：NAISI_TIMEZONE_EUROPE_AMSTERDAM 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_EUROPE_MOSCOW`

- 值：`27`
- 用途：NAISI_TIMEZONE_EUROPE_MOSCOW 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_AFRICA_CAIRO`

- 值：`28`
- 用途：NAISI_TIMEZONE_AFRICA_CAIRO 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_AFRICA_JOHANNESBURG`

- 值：`29`
- 用途：NAISI_TIMEZONE_AFRICA_JOHANNESBURG 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_AFRICA_LAGOS`

- 值：`30`
- 用途：NAISI_TIMEZONE_AFRICA_LAGOS 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_AFRICA_NAIROBI`

- 值：`31`
- 用途：NAISI_TIMEZONE_AFRICA_NAIROBI 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_AMERICA_NEW_YORK`

- 值：`32`
- 用途：NAISI_TIMEZONE_AMERICA_NEW_YORK 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_AMERICA_CHICAGO`

- 值：`33`
- 用途：NAISI_TIMEZONE_AMERICA_CHICAGO 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_AMERICA_DENVER`

- 值：`34`
- 用途：NAISI_TIMEZONE_AMERICA_DENVER 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_AMERICA_LOS_ANGELES`

- 值：`35`
- 用途：NAISI_TIMEZONE_AMERICA_LOS_ANGELES 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_AMERICA_ANCHORAGE`

- 值：`36`
- 用途：NAISI_TIMEZONE_AMERICA_ANCHORAGE 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_PACIFIC_HONOLULU`

- 值：`37`
- 用途：NAISI_TIMEZONE_PACIFIC_HONOLULU 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_AMERICA_TORONTO`

- 值：`38`
- 用途：NAISI_TIMEZONE_AMERICA_TORONTO 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_AMERICA_VANCOUVER`

- 值：`39`
- 用途：NAISI_TIMEZONE_AMERICA_VANCOUVER 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_AMERICA_MEXICO_CITY`

- 值：`40`
- 用途：NAISI_TIMEZONE_AMERICA_MEXICO_CITY 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_AMERICA_SAO_PAULO`

- 值：`41`
- 用途：NAISI_TIMEZONE_AMERICA_SAO_PAULO 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_AMERICA_BUENOS_AIRES`

- 值：`42`
- 用途：NAISI_TIMEZONE_AMERICA_BUENOS_AIRES 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_AUSTRALIA_SYDNEY`

- 值：`43`
- 用途：NAISI_TIMEZONE_AUSTRALIA_SYDNEY 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_AUSTRALIA_MELBOURNE`

- 值：`44`
- 用途：NAISI_TIMEZONE_AUSTRALIA_MELBOURNE 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_AUSTRALIA_BRISBANE`

- 值：`45`
- 用途：NAISI_TIMEZONE_AUSTRALIA_BRISBANE 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_AUSTRALIA_PERTH`

- 值：`46`
- 用途：NAISI_TIMEZONE_AUSTRALIA_PERTH 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_PACIFIC_AUCKLAND`

- 值：`47`
- 用途：NAISI_TIMEZONE_PACIFIC_AUCKLAND 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_PACIFIC_FIJI`

- 值：`48`
- 用途：NAISI_TIMEZONE_PACIFIC_FIJI 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

### `NAISI_TIMEZONE_PACIFIC_GUAM`

- 值：`49`
- 用途：NAISI_TIMEZONE_PACIFIC_GUAM 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
- 使用函数：[naisi_get_utc_date](/web/developers/naisilib/naisi-get-utc-date)

## 通用校验器

### `NAISI_VALIDATOR_ALPHA_DASH`

- 值：`1`
- 用途：小写字母与连字符验证正则。 匹配以小写字母开头和结尾、内部可包含连字符的字符串。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_SLUG`

- 值：`2`
- 用途：URL slug 验证正则。 匹配以小写字母开头，可包含小写字母、数字和连字符的 slug。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_ALPHA_UNDERSCORE`

- 值：`3`
- 用途：小写字母与下划线验证正则。 匹配以小写字母开头和结尾、内部可包含下划线的字符串。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_ALPHA_NUMBER_UNDERSCORE`

- 值：`4`
- 用途：小写字母、数字与下划线验证正则。 匹配以小写字母开头，并由小写字母、数字和下划线组成的字符串。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_PINYIN`

- 值：`5`
- 用途：拼音字符串验证正则。 匹配由小写拼音片段组成、片段之间使用单个空白分隔的字符串。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_STRING`

- 值：`6`
- 用途：通用单行字符串验证正则。 要求内容非空，并排除换行、控制字符以及部分高风险字符。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_CONTENT`

- 值：`7`
- 用途：通用多行内容验证正则。 要求内容非空，并排除控制字符以及部分高风险字符；允许正常换行。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_ENGLISH_STRING`

- 值：`8`
- 用途：英文业务字符串验证正则。 匹配以英文字母或数字开头，并由英文、数字和有限符号构成、至少两个字符的字符串。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_USER`

- 值：`9`
- 用途：用户名验证正则。 匹配小写字母开头、字母或数字结尾，并允许数字、连字符和下划线的用户名。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_ENGLISH`

- 值：`10`
- 用途：纯英文字母验证正则。 匹配只包含大写或小写英文字母的非空字符串。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_CHINESE`

- 值：`11`
- 用途：中文兼容字符验证正则。 匹配一个或多个非 ASCII Unicode 字符，包括汉字、Emoji 表情及其他中文业务文本中允许的扩展字符。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_NUMBER`

- 值：`12`
- 用途：纯数字验证正则。 匹配只包含十进制数字的非空字符串。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_CHINESE_ENGLISH`

- 值：`13`
- 用途：中文或英文组合验证正则。 字符只能是英文字母或非 ASCII Unicode 字符，可只出现其中一种类别。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_ENGLISH_NUMBER`

- 值：`14`
- 用途：英文或数字组合验证正则。 匹配英文、数字或两者组合的非空字符串。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_CHINESE_ENGLISH_NUMBER`

- 值：`15`
- 用途：中文、英文或数字组合验证正则。 字符只能是非 ASCII Unicode 字符、英文字母或 ASCII 数字，可只出现其中一种类别。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_CHINESE_ENGLISH_MATCH`

- 值：`16`
- 用途：中文与英文同时出现验证正则。 字符只能是非 ASCII Unicode 字符或英文字母，并且两类字符必须各出现至少一次。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_ENGLISH_NUMBER_MATCH`

- 值：`17`
- 用途：英文与数字同时出现验证正则。 字符只能是英文字母或 ASCII 数字，并且两类字符必须各出现至少一次。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_CHINESE_ENGLISH_NUMBER_MATCH`

- 值：`18`
- 用途：中文、英文与数字同时出现验证正则。 字符只能是非 ASCII Unicode 字符、英文字母或 ASCII 数字，并且三类字符必须各出现至少一次。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_LOWERCASE_KEY_NAME`

- 值：`19`
- 用途：小写键名验证正则。 匹配小写字母开头、字母或数字结尾，且至少两个字符的字母、数字和下划线键名。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_UPPERCASE_KEY_NAME`

- 值：`20`
- 用途：大写键名验证正则。 匹配大写字母开头、字母或数字结尾，且至少两个字符的字母、数字和下划线键名。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_IMAGE_SIZE`

- 值：`21`
- 用途：图片尺寸文本验证正则。 匹配使用星号连接的宽高值，每一边必须在 10 至 9000 之间。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_MODEL_SPEC_PATTERN`

- 值：`22`
- 用途：型号规格验证正则。 匹配字母或数字开头和结尾，并允许星号、点、加减号、斜杠及井号的规格文本。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_DOMAIN`

- 值：`23`
- 用途：域名验证正则。 匹配总长不超过253、至少包含一个点的规范小写域名；标签不得包含下划线、连续点或首尾连字符。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_LOWERCASE`

- 值：`24`
- 用途：纯小写字母验证正则。 匹配只包含小写英文字母的非空字符串。
- 使用函数：[naisi_value_is_valid](/web/developers/naisilib/naisi-value-is-valid)

### `NAISI_VALIDATOR_CREDIT_CODE_FORMAT`

- 值：`25`
- 用途：18 位统一社会信用代码字符格式，ASCII 大小写均可；不验证校验位。

### `NAISI_VALIDATOR_COLOR_HEX`

- 值：`26`
- 用途：仅 #RGB、#RRGGBB、#RRGGBBAA 颜色格式。

### `NAISI_VALIDATOR_OPENID`

- 值：`27`
- 用途：26～30 位 ASCII 字母、数字、下划线或短横线，仅验证格式。

### `NAISI_VALIDATOR_LANDLINE_NUMBER`

- 值：`28`
- 用途：0 开头的 3～4 位区号、短横线及 5～8 位号码。

### `NAISI_VALIDATOR_ASCII_IDENTIFIER`

- 值：`29`
- 用途：非空 ASCII 字母、数字、下划线或短横线，允许数字开头。

## 地区类型

### `NAISI_REGION_TYPE_CHINA`

- 值：`1`
- 用途：国内行政区划。 选择地区列表、名称解析和搜索的数据集。
- 使用函数：[naisi_region_list](/web/developers/naisilib/naisi-region-list)

### `NAISI_REGION_TYPE_GLOBAL`

- 值：`2`
- 用途：全球国家地区。 选择地区列表、名称解析和搜索的数据集。
- 使用函数：[naisi_region_list](/web/developers/naisilib/naisi-region-list)

### `NAISI_REGION_TYPE_NATIVE_PLACE`

- 值：`3`
- 用途：国内籍贯，与行政区划共用编码。 选择地区列表、名称解析和搜索的数据集。
- 使用函数：[naisi_region_list](/web/developers/naisilib/naisi-region-list)

### `NAISI_REGION_NAME_FORMAT_ZH`

- 值：`1`
- 用途：国际地区中文名称（zh_name），默认格式。
- 使用函数：[naisi_region_code_to_name](/web/developers/naisilib/naisi-region-code-to-name)

### `NAISI_REGION_NAME_FORMAT_LOCAL`

- 值：`2`
- 用途：国际地区官方语言名称（name）。
- 使用函数：[naisi_region_code_to_name](/web/developers/naisilib/naisi-region-code-to-name)

### `NAISI_REGION_NAME_FORMAT_LOCAL_ZH`

- 值：`3`
- 用途：国际地区逐级显示官方语言名称（中文名称），两种名称相同时只显示一次。
- 使用函数：[naisi_region_code_to_name](/web/developers/naisilib/naisi-region-code-to-name)

### `NAISI_REGION_NAME_FORMAT_EN`

- 值：`4`
- 用途：国际地区英文名称（en_name）。
- 使用函数：[naisi_region_code_to_name](/web/developers/naisilib/naisi-region-code-to-name)

## 金额舍入模式

### `NAISI_DECIMAL_ROUND_HALF_UP`

- 值：`1`
- 用途：金额四舍五入模式。 取最近值，恰好居中时向远离零的方向舍入；1.235 保留两位为 1.24，-1.235 为 -1.24。
- 使用函数：[naisi_amount_to_scaled_int](/web/developers/naisilib/naisi-amount-to-scaled-int)

### `NAISI_DECIMAL_ROUND_CEILING`

- 值：`2`
- 用途：金额向上舍入模式。 向正无穷舍入；1.231 保留两位为 1.24，-1.231 为 -1.23。
- 使用函数：[naisi_amount_to_scaled_int](/web/developers/naisilib/naisi-amount-to-scaled-int)

### `NAISI_DECIMAL_ROUND_FLOOR`

- 值：`3`
- 用途：金额向下舍入模式。 向负无穷舍入；1.231 保留两位为 1.23，-1.231 为 -1.24，不等同于直接截断。
- 使用函数：[naisi_amount_to_scaled_int](/web/developers/naisilib/naisi-amount-to-scaled-int)

## 版本比较

### `NAISI_VERSION_OPERATOR_EQ`

- 值：`1`
- 用途：naisi_version_is_valid() 版本比较：等于。

### `NAISI_VERSION_OPERATOR_GT`

- 值：`2`
- 用途：naisi_version_is_valid() 版本比较：大于。

### `NAISI_VERSION_OPERATOR_LT`

- 值：`3`
- 用途：naisi_version_is_valid() 版本比较：小于。

### `NAISI_VERSION_OPERATOR_GTE`

- 值：`4`
- 用途：naisi_version_is_valid() 版本比较：大于等于。

### `NAISI_VERSION_OPERATOR_LTE`

- 值：`5`
- 用途：naisi_version_is_valid() 版本比较：小于等于。
