我正在使用 Yii2 框架,并且我有一个Validator
应该进行客户端验证的框架。我有一个看起来像这样的正则表达式:/^[\\p{L}]+$/u
为简单起见,但我的实际正则表达式有点复杂,但 \p{L} 部分是导致问题的原因。
所以我在验证器类中的代码是这样的:
public function clientValidateAttribute($model, $attribute, $view)
{
$message = json_encode($this->message, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
return <<<JS
if (!XRegExp('/^[\\p{L}]+$/u').test(value)) {
messages.push($message);
}
JS;
}
问题是,这对于 \p{L} 总是失败,但如果我改变类似 /^[AZ]+$/ 的模式,它可以完美地工作。
我正在使用 1.3.0 xregexp-all.js。它被添加到AssetBundle
\assets\AppAsset.php 的一个类中