0
我使用Yii2框架,我有一个Validator
应该做客户端验证。我有一个正则表达式,看起来像这样:/^[\\p{L}]+$/u
为简单起见,但我的实际正则表达式有点复杂,但\ p {L}部分是导致问题的原因。Yii2验证与XRegExp, 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
类\资产\ AppAsset.php
是什么'\ p',我以前没有在正则表达式看到 –
@MuhammadShahzad“\ p {L}和\ p {}信:任何类型的任何语言的字母” 。来源:[链接](http://www.regular-expressions.info/unicode.html) – DaTi
你究竟想做什么? –