Php 如何使字母破折号适用于阿拉伯语字母?

Php 如何使字母破折号适用于阿拉伯语字母?,php,codeigniter,validation,Php,Codeigniter,Validation,我想为阿拉伯语字段添加规则,以确保它只包含字符或数字 alpha_-dash仅适用于英语字母,如何使其支持阿拉伯语?alpha-dash不是标准的php函数 然而,这就是您提到的功能 function alpha_dash($str) { return ( ! preg_match("/^([-a-z0-9_-])+$/i", $str)) ? FALSE : TRUE; } 这应该匹配阿拉伯字母、数字、下划线和减号 function alpha_dash($str) { retu

我想为阿拉伯语字段添加规则,以确保它只包含字符或数字


alpha_-dash
仅适用于英语字母,如何使其支持阿拉伯语?

alpha-dash不是标准的php函数

然而,这就是您提到的功能

function alpha_dash($str)
{
   return ( ! preg_match("/^([-a-z0-9_-])+$/i", $str)) ? FALSE : TRUE;
}
这应该匹配阿拉伯字母、数字、下划线和减号

function alpha_dash($str)
{
   return ( ! preg_match("/^[\-_ \d\p{Arabic}]*\p{Arabic}[\d\p{Arabic}]*$/ui", $str)) ? FALSE : TRUE;
} 

编辑:我可能弄乱了正则表达式,但现在至少你有事情要做。

这是一个很好的方法,但请编辑正则表达式并添加空格字符。现在添加空格字符。请记住,我不能保证它有效或准确。希望有人能证实这一点。我也会做大量的测试。