假設我有一行這樣的文字
アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンヴガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポァィゥェォャュョッアイウエオカキクケコサシスセソタチツテトナアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンヴガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポァィゥェォャュョッアイウエオカキクケコサシスセソタチツテトナアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンヴガギグ
我想驗證輸入是否為片假名,所以我使用正則運算式
'/^[? ァ ア ィ イ ゥ ウ ェ エ ォ オ カ ガ キ ギ ク グ ケ ゲ コ ゴ サ ザ シ ジ ス ズ セ ゼ ソ ゾ タ ダ チ ヂ ッ ツ ヅ テ デ ト ド ナ ニ ヌ ネ ノ ハ バ パ ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ ボ ポ マ ミ ム メ モ ャ ヤ ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ ヰ ヱ ヲ ン ヴ ヵ ヶ ? ? ? ? ? ー ヽ ヾ ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?] $/'
有沒有辦法壓縮它?我知道它的硬代碼,在此之前我使用過^[ァ-ヴー?-???] $但它在 laravel 請求規則中不起作用。
uj5u.com熱心網友回復:
您的正則運算式ァ-ヴー?-???是正確的,您只需要添加/u即可使其作業。
所以正確的正則運算式代碼是
/^[ァ-ヴー?-???] $/u
或 laravel 驗證中的示例:
'name' => 'required|regex:/^[ァ-ヴー?-???] $/u',
該/u修改是對Unicode的支持
您還可以使用 Unicode 八進制作為正則運算式范圍,片假名的示例是([\u30a0-\u30ff]*),但在 php pcre 中\u應更改為\x:
'name' => 'required|regex:/^[\x{30a0}-\x{30ff} ] $/u',
此外,您可以查看其他片假名和平假名正則運算式的要點。例子:
匹配全角片假名的正則運算式(zenkaku 全角)
([ァ-ン])
正則運算式匹配半角片假名 (hankaku 半角)
([?-???])
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/396618.html
