php - Regexを介してアンダースコアと共にUnicode文字を受け入れる

php regex

if(preg_match('@^([^\W_]*\s){0,3}[^\W_]*$@', $_POST['txt_username_reg'])) 
. . .


上記の行はPHPで使用されています。

'@^([^\W_]*\s){0,3}[^\W_]*$@'


正規表現では、「英語の文字+数字+最大3つのスペース」を使用できます。

以下を許可するにはどうすればよいですか:


4最大アンダースコアとUnicode文字(特殊文字を使用できない場合のみ-角かっこで囲まれた要求を破棄します)。
答え
\ Wは標準のASCII英語文字と一致します。これについて以前に調査したことがあり、解決策を見つけることができませんでした。

通常、代わりに単語の区切り文字(または境界)と照合して、不要な文字を禁止することをお勧めします。

ただし、さまざまなアプローチが利用可能ですが、
詳細については、これらのリンクを確認してください。


http://www.regular-expressions.info/unicode.html
http://www.regular-expressions.info/refunicode.html
http://www.regular-expressions.info/wordboundaries.html
関連記事

php - サーバーのパブリックフォルダーに送られるすべてのリクエストを処理する1つのPHPファイルを作成することは可能ですか?

php - PHPの型ヒントが、私のクラスを文字列であると考えるのはなぜですか?

php - mysql_connect()からの警告がmysql_error()を生成しない

php - PHP多対多セットID

php - SELECTとJOINステートメントのIDに自分のIDを含めるにはどうすればよいですか?

php - mysql_real_escape_string($ username)次にcookieとして保存し、ログインの確認に使用

php - preg_replaceには式のヘルプが必要です

php - サインアップフォームフィールドに編集不可/削除不可の文を入力する

php - 間違ったリクエスト生成SOAPクライアントPHP

php - チェックボックスが1つしか選択されていない場合のチェックボックスポスト変数/配列