質問: 今使っているのはこれです ``` regex:/^[ぁ-んァ-ヶー一-龠a-zA-Z0-9]+$/ ``` 半角スペースは不可になったが全角スペースは無理らしいですね。
回答: 調べてみたのですが、phpの文字クラスで直接文字範囲を使用できるのはASCIIの範囲のみのようです。 Unicodeをuオプションで指定し正規表現を組むと良いそうなので、以下のように変更してみました。 質問に記載の範囲 `一-龠ぁ-んァ-ヶーa-zA-Z0-9` `\x{4E00}-\x{9FA0}\x{3041}-\x{3093}\x{30A1}-\x{30F6}\x{30FC}a-zA-Z0-9` (お好みで)常用漢字の範囲 `々〇〻㐀-豈- 0-F` `\x{3005}\x{3007}\x{303b}\x{3400}-\x{9FFF}\x{F900}-\x{FAFF}\x{20000}-\x{2FFFF}` ``` $regex='/^[\x{3005}\x{3007}\x{303b}\x{3400}-\x{9FFF}\x{F900}-\x{FAFF}\x{20000}-\x{2FFFF}\x{4E00}-\x{9FA0}\x{3041}-\x{3093}\x{30A1}-\x{30F6}\x{30FC}a-zA-Z0-9]+$/u'; preg_match($regex, $in, $out); ```