Spa*_*rsh 3 regex expression preg-match
我在验证名称时收到此错误....我几个月前搜索了正则表达式的国际名称,最后得到了一些工作:在RegEx中接受国际名称字符
但现在它显示我这个错误,请帮助
preg_match():编译失败:偏移量为15的字符类中的无效范围
if(preg_match("/^[a-zA-Z\s,.'-\pL]+$/u", $name)) {
return true;
} else{
$this->addError($field_name.' contains invalid characters');
return false;
}
Run Code Online (Sandbox Code Playgroud)
也尝试这个preg_match("/ ^ [\ s,.'-\pL] + $ /",$ name)但仍显示相同的错误
hwn*_*wnd 12
连字符(-)需要进行转义,因为它在字符类中的位置.
注意:在字符类中,连字符具有特殊含义.您可以将其作为班级的第一个或最后一个角色.在某些正则表达式实现中,您也可以直接放在一个范围之后.如果将连字符放在其他任何位置,则需要在其前面加上反斜杠,以便将其添加到字符类中.
if(preg_match("/^[a-zA-Z\s,.'\-\pL]+$/u", $name)) { ...
^^
Run Code Online (Sandbox Code Playgroud)
您可以编写正则表达式,如下所示:
if(preg_match("/^[\pL\s,.'-]+$/u", $name)) { ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4132 次 |
| 最近记录: |