

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

[code]

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

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


CC BY-SA 4.0
2019-08-01T04:22:59.657
57092
2020-07-25T07:05:25.523
2019-08-01T04:28:17.010
3060
34775
question
php 正規表現 laravel
正規表現で全角スペースを禁止したい


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


CC BY-SA 4.0
2019-08-01T06:23:14.067
57098
2019-08-01T06:23:14.067
7676
57092
answer