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
你究竟想做什麼? –