PHP正则表达式接受没有特殊字符的日语和英语

时间:2018-06-01 12:21:02

标签: php regex laravel

我正在尝试创建一个正则表达式,只过滤英语和日语中的字母或数字。这就是我尝试过的,

preg_match('/[\p{L}\p{N}\p{Katakana}\p{Hiragana}\p{Han}]+/u', $value)

但我没有得到理想的结果。我可能做错了什么? 这个也是我试过的

preg_match('/[\p{Cn}\p{N}]+/u', $value)

另外,我需要防止特殊字符

('/[(a-zA-Z 0-9\_\{\}\!\$\%\&\.\|\?\*\+\(\)\-\~)(\p{Cn})]/', $value)) 

这个人不会一起工作

1 个答案:

答案 0 :(得分:0)

尝试使用此正则表达式:它将匹配BasePageObjectkatakanahiragana子集中的字母(大写和小写),数字和unicode字符

han

修改:将preg_match('/^[a-zA-Z0-9\p{Katakana}\p{Hiragana}\p{Han} $]+/u', $value) 添加到允许的字符列表中,将space$添加到匹配字符串字符串。

  • ^将返回0(不匹配)
  • STORE-11 ぼ <>?>>^^ † ‡ dd NN将返回1(匹配)

使用给定示例的正则表达式演示:https://www.phpliveregex.com/p/oef