# `naisi_value_is_valid`

使用指定内置验证器验证非空 UTF-8 字符串。

与 naisi_string_is_valid() 共享 NAISI_VALIDATOR_* 规则，包括 CREDIT_CODE_FORMAT、
COLOR_HEX、OPENID、LANDLINE_NUMBER、ASCII_IDENTIFIER；严格匹配完整输入，不 trim。
信用代码只检查字符及长度，OpenID 只检查格式，不验证真实性或归属。
沿用 LICENSE / PROOF 和 DATA capability；未授权或输入无效返回 false。

## 函数签名

```php
function naisi_value_is_valid(string $value, int $validator): bool
```

## 调用前提

应用入口先调用 [naisi_is_ext_license_valid](/web/developers/naisilib/naisi-is-ext-license-valid) 并确认返回 `true`。只验证同一请求内已有的有效 FULL/BASIC 证明；没有证明或证明失效时立即返回失败值，不现场补做完整校验。

授权类别：`LICENSE`；执行模式：`PROOF`。许可不代替登录、租户或权限上下文；身份与数据要求见本页参数及用途说明。

## 参数

### `$value`

- 类型：`string`
- 必填：是
- 默认值：无
- 方向：输入参数。

需要使用指定验证器检查的字符串。

### `$validator`

- 类型：`int`
- 必填：是
- 默认值：无
- 方向：输入参数。

用于 naisi_value_is_valid() 的 NAISI_VALIDATOR_* 选择器。

## 返回值

类型：`bool`

验证或条件判断成立时返回 true，否则返回 false。

## 关联常量

- [`NAISI_VALIDATOR_ALPHA_DASH`](/web/developers/naisilib/const#naisi-validator-alpha-dash) = `1` — 小写字母与连字符验证正则。 匹配以小写字母开头和结尾、内部可包含连字符的字符串。
- [`NAISI_VALIDATOR_SLUG`](/web/developers/naisilib/const#naisi-validator-slug) = `2` — URL slug 验证正则。 匹配以小写字母开头，可包含小写字母、数字和连字符的 slug。
- [`NAISI_VALIDATOR_ALPHA_UNDERSCORE`](/web/developers/naisilib/const#naisi-validator-alpha-underscore) = `3` — 小写字母与下划线验证正则。 匹配以小写字母开头和结尾、内部可包含下划线的字符串。
- [`NAISI_VALIDATOR_ALPHA_NUMBER_UNDERSCORE`](/web/developers/naisilib/const#naisi-validator-alpha-number-underscore) = `4` — 小写字母、数字与下划线验证正则。 匹配以小写字母开头，并由小写字母、数字和下划线组成的字符串。
- [`NAISI_VALIDATOR_PINYIN`](/web/developers/naisilib/const#naisi-validator-pinyin) = `5` — 拼音字符串验证正则。 匹配由小写拼音片段组成、片段之间使用单个空白分隔的字符串。
- [`NAISI_VALIDATOR_STRING`](/web/developers/naisilib/const#naisi-validator-string) = `6` — 通用单行字符串验证正则。 要求内容非空，并排除换行、控制字符以及部分高风险字符。
- [`NAISI_VALIDATOR_CONTENT`](/web/developers/naisilib/const#naisi-validator-content) = `7` — 通用多行内容验证正则。 要求内容非空，并排除控制字符以及部分高风险字符；允许正常换行。
- [`NAISI_VALIDATOR_ENGLISH_STRING`](/web/developers/naisilib/const#naisi-validator-english-string) = `8` — 英文业务字符串验证正则。 匹配以英文字母或数字开头，并由英文、数字和有限符号构成、至少两个字符的字符串。
- [`NAISI_VALIDATOR_USER`](/web/developers/naisilib/const#naisi-validator-user) = `9` — 用户名验证正则。 匹配小写字母开头、字母或数字结尾，并允许数字、连字符和下划线的用户名。
- [`NAISI_VALIDATOR_ENGLISH`](/web/developers/naisilib/const#naisi-validator-english) = `10` — 纯英文字母验证正则。 匹配只包含大写或小写英文字母的非空字符串。
- [`NAISI_VALIDATOR_CHINESE`](/web/developers/naisilib/const#naisi-validator-chinese) = `11` — 中文兼容字符验证正则。 匹配一个或多个非 ASCII Unicode 字符，包括汉字、Emoji 表情及其他中文业务文本中允许的扩展字符。
- [`NAISI_VALIDATOR_NUMBER`](/web/developers/naisilib/const#naisi-validator-number) = `12` — 纯数字验证正则。 匹配只包含十进制数字的非空字符串。
- [`NAISI_VALIDATOR_CHINESE_ENGLISH`](/web/developers/naisilib/const#naisi-validator-chinese-english) = `13` — 中文或英文组合验证正则。 字符只能是英文字母或非 ASCII Unicode 字符，可只出现其中一种类别。
- [`NAISI_VALIDATOR_ENGLISH_NUMBER`](/web/developers/naisilib/const#naisi-validator-english-number) = `14` — 英文或数字组合验证正则。 匹配英文、数字或两者组合的非空字符串。
- [`NAISI_VALIDATOR_CHINESE_ENGLISH_NUMBER`](/web/developers/naisilib/const#naisi-validator-chinese-english-number) = `15` — 中文、英文或数字组合验证正则。 字符只能是非 ASCII Unicode 字符、英文字母或 ASCII 数字，可只出现其中一种类别。
- [`NAISI_VALIDATOR_CHINESE_ENGLISH_MATCH`](/web/developers/naisilib/const#naisi-validator-chinese-english-match) = `16` — 中文与英文同时出现验证正则。 字符只能是非 ASCII Unicode 字符或英文字母，并且两类字符必须各出现至少一次。
- [`NAISI_VALIDATOR_ENGLISH_NUMBER_MATCH`](/web/developers/naisilib/const#naisi-validator-english-number-match) = `17` — 英文与数字同时出现验证正则。 字符只能是英文字母或 ASCII 数字，并且两类字符必须各出现至少一次。
- [`NAISI_VALIDATOR_CHINESE_ENGLISH_NUMBER_MATCH`](/web/developers/naisilib/const#naisi-validator-chinese-english-number-match) = `18` — 中文、英文与数字同时出现验证正则。 字符只能是非 ASCII Unicode 字符、英文字母或 ASCII 数字，并且三类字符必须各出现至少一次。
- [`NAISI_VALIDATOR_LOWERCASE_KEY_NAME`](/web/developers/naisilib/const#naisi-validator-lowercase-key-name) = `19` — 小写键名验证正则。 匹配小写字母开头、字母或数字结尾，且至少两个字符的字母、数字和下划线键名。
- [`NAISI_VALIDATOR_UPPERCASE_KEY_NAME`](/web/developers/naisilib/const#naisi-validator-uppercase-key-name) = `20` — 大写键名验证正则。 匹配大写字母开头、字母或数字结尾，且至少两个字符的字母、数字和下划线键名。
- [`NAISI_VALIDATOR_IMAGE_SIZE`](/web/developers/naisilib/const#naisi-validator-image-size) = `21` — 图片尺寸文本验证正则。 匹配使用星号连接的宽高值，每一边必须在 10 至 9000 之间。
- [`NAISI_VALIDATOR_MODEL_SPEC_PATTERN`](/web/developers/naisilib/const#naisi-validator-model-spec-pattern) = `22` — 型号规格验证正则。 匹配字母或数字开头和结尾，并允许星号、点、加减号、斜杠及井号的规格文本。
- [`NAISI_VALIDATOR_DOMAIN`](/web/developers/naisilib/const#naisi-validator-domain) = `23` — 域名验证正则。 匹配总长不超过253、至少包含一个点的规范小写域名；标签不得包含下划线、连续点或首尾连字符。
- [`NAISI_VALIDATOR_LOWERCASE`](/web/developers/naisilib/const#naisi-validator-lowercase) = `24` — 纯小写字母验证正则。 匹配只包含小写英文字母的非空字符串。
- [`NAISI_VALIDATOR_CREDIT_CODE_FORMAT`](/web/developers/naisilib/const#naisi-validator-credit-code-format) = `25` — 18 位统一社会信用代码字符格式，ASCII 大小写均可；不验证校验位。
- [`NAISI_VALIDATOR_COLOR_HEX`](/web/developers/naisilib/const#naisi-validator-color-hex) = `26` — 仅 #RGB、#RRGGBB、#RRGGBBAA 颜色格式。
- [`NAISI_VALIDATOR_OPENID`](/web/developers/naisilib/const#naisi-validator-openid) = `27` — 26～30 位 ASCII 字母、数字、下划线或短横线，仅验证格式。
- [`NAISI_VALIDATOR_LANDLINE_NUMBER`](/web/developers/naisilib/const#naisi-validator-landline-number) = `28` — 0 开头的 3～4 位区号、短横线及 5～8 位号码。
- [`NAISI_VALIDATOR_ASCII_IDENTIFIER`](/web/developers/naisilib/const#naisi-validator-ascii-identifier) = `29` — 非空 ASCII 字母、数字、下划线或短横线，允许数字开头。

## 调用示例

当前请求须满足上方调用前提；请检查实际返回值和引用输出，随机结果及数据包内容以运行环境为准。

```php
$value = 'product-item';
$validator = 1;

$result = naisi_value_is_valid($value, $validator);
var_export($result);
```

## 相关接口

需要同时检查内置验证规则和 Unicode 长度上下限时，使用 [naisi_string_is_valid](/web/developers/naisilib/naisi-string-is-valid)。该接口的 `0` 关闭对应长度限制，负数无效；`naisi_string_length_is_valid()` 要求非空字符串，上限小于 1 始终返回 `false`。

## 版本信息

- 自版本：`1.0.6`
- 实现模块：`validation`
- 授权类别：`LICENSE` / `PROOF`
- 失败回退：`false`
- 文档同步：`2026-10-18`
