正则表达式允许在PHP中使用印地语字符沿着英语[重复]

x8diyxa7  于 2023-08-02  发布在  PHP
关注(0)|答案(1)|浏览(108)

此问题在此处已有答案

Matching Unicode letter characters in PCRE/PHP(5个答案)
7小时前关闭
我有一个Laravel 5.8应用程序,该应用程序接受印地语和英语文本作为输入。
为了防止特殊字符,我创建了一个Regex验证,它允许英文字符的大小写,数字,空格和'/'。
第一个月
此外,我已经更新了它,允许印地语文本。
'title' => 'required|min:3|regex:/^[\u0900-\u097F]*[\s]?([\u0900-\u097F]*[\s]?)*?$/'
这个regex**/^[\u0900-\u097F]*[\s]?([\u0900-\u097F]*[\s]?)*?$/似乎不起作用。它不允许印地语字符。例如,我希望此字符串传递“/ Gudi Padwa/Cheti Chand / Ugadi”
但是,这种模式
"[A-Za-z0-9\u0900-\u097F\-\/ ]+"在html标签、blade文件中工作良好,但在通过Request**拦截时,在控制器中不工作。
请建议一个有效的正则表达式,允许印地语字符沿着英语在PHP中

hpxqektj

hpxqektj1#

根据文档,PCRE2默认不支持\uxxxx``语法。它的有效等价物是\x{xxxx}
也就是说,您可以使用以下内容:

[A-Za-z0-9\x{0900}-\x{097F}\-\/ ]+

字符串
试试on regex101.com
由于Devanagari是一个可识别的脚本,因此您也可以使用Unicode属性语法:\p{Devanagari}

[A-Za-z0-9\p{Devanagari}\-\/ ]+


试试on regex101.com

相关问题