正規表現で全角スペースを禁止したい


今使っているのはこれです

[code]

    regex:/^[ぁ-んァ-ヶー一-龠a-zA-Z0-9]+$/
    
[/code]

半角スペースは不可になったが全角スペースは無理らしいですね。




調べてみたのですが、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}`

[code]

    $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);
    
[/code]

