2017-04-18 8 views
1

ここに問題があります。私のusernameルールは、特殊文字のない文字のみを入力することを許可しますが、特殊文字を含まない文字を許可するように助けてくれるかもしれませんか?すべての文字(特殊文字を含む)は許可されますが、特殊文字は使用できないYii2ルール?

F.e:

テスト - 良い、 Tęęęst - 良い、 Test2を - 悪いです。

私のルールは次のとおりです。JavaScriptはUnicodeの正規表現フラグをサポートしていませんので、任意の助け

+0

「特殊文字」とは何ですか? – Bizley

+0

EHM、それはすべての$の#$%だ&& * <>となど、私はちょうど私のフィールドは(ĄČĘĖĮŠŲおよびその他を含む)だけで文字のみを可能にする必要 – MKD

+0

あなたも組み合わせるマーク/特殊記号をサポートする必要がありますか? –

答えて

1

ため

['username', 'match', 
    'pattern' => '/[a-z]+$/', 
] 

おかげで(少なくとも、特別なプラグインなしで)これを使用しますが、それはクライアント側で動作しません覚えています:

['username', 'match', 'pattern' => '/^\p{L}+$/u'] 

これは、文字(内のすべての言語)のみを許可します。