Php 警告:preg_match()[function.preg match]:未找到结尾分隔符“/”
当调用此函数时,它给出了消息 警告:preg_match[function.preg match]:无结尾分隔符“/” 这是检查字母数字输入的功能Php 警告:preg_match()[function.preg match]:未找到结尾分隔符“/”,php,error-handling,preg-match,design-patterns,validation,Php,Error Handling,Preg Match,Design Patterns,Validation,当调用此函数时,它给出了消息 警告:preg_match[function.preg match]:无结尾分隔符“/” 这是检查字母数字输入的功能 function CheckAlphanumeric($element,$minlength,$maxlength) { if (!preg_match ("/[^A-Za-z\s\0-9 - @ .]//", $element) && strlen($element)>=$minlength && strle
function CheckAlphanumeric($element,$minlength,$maxlength)
{ if (!preg_match ("/[^A-Za-z\s\0-9 - @ .]//", $element) && strlen($element)>=$minlength && strlen($element) <=$maxlength) { return TRUE; }
else { return FALSE;}
}
您对此警告有何意见 您可能希望转义最后一个正斜杠或删除它,但不确定它是否应该在该正则表达式中?。另外,在0之前有一个反斜杠,这也没有什么意义
# escape it if it's supposed to be in there.
/[^A-Za-z\s0-9 - @ .]\//
或
或
另外,您知道可以使用[:alnum:]快捷方式吗
希望最终编辑:
我建议你首先也看看你的函数,它有点混乱。您基本上需要检查三个条件,1它是否通过正则表达式,2它是gte最小长度,3它是lte最大长度。由于这三个函数都返回布尔值或正确计算为布尔值的值,因此可以将函数简化如下:
function CheckAlphanumeric($element,$minlength,$maxlength) {
// returns TRUE if it matches all conditions, FALSE if one fails.
return preg_match("/[[:alnum:]-@. ]/", $element) && strlen($element) >= $minlength && strlen($element) <= $maxlength;
}
您将要转义最后一个正斜杠或删除它,但不确定它是否应该在该正则表达式中?。另外,在0之前有一个反斜杠,这也没有什么意义
# escape it if it's supposed to be in there.
/[^A-Za-z\s0-9 - @ .]\//
或
或
另外,您知道可以使用[:alnum:]快捷方式吗
希望最终编辑:
我建议你首先也看看你的函数,它有点混乱。您基本上需要检查三个条件,1它是否通过正则表达式,2它是gte最小长度,3它是lte最大长度。由于这三个函数都返回布尔值或正确计算为布尔值的值,因此可以将函数简化如下:
function CheckAlphanumeric($element,$minlength,$maxlength) {
// returns TRUE if it matches all conditions, FALSE if one fails.
return preg_match("/[[:alnum:]-@. ]/", $element) && strlen($element) >= $minlength && strlen($element) <= $maxlength;
}
这是一个奇怪的错误消息,但是在正则表达式的末尾有两个。你应该只有一个:/[^A-Za-z\s\0-9-@.]/如果你想匹配一个文字/当你使用它作为你的分隔符时,你需要用\.来转义它,这是一个奇怪的错误消息,但是在正则表达式的末尾有两个/。您应该只有一个:/[^A-Za-z\s\0-9-@.]/如果要匹配文字/将其用作分隔符时,您需要使用\.来转义它。您是否尝试删除两个结束符/字符中的一个?@SurrelStreams我删除了,但仍收到了警告消息?您是否尝试删除了两个结束符/字符中的一个?@SurrelStreams我删除了,但仍收到了警告消息我想说,如果您需要查看分隔符,您应该考虑更改它:~[^A-Za-z\s\0-9-@.]/~@meze谢谢我试过了,它改为:找不到结尾分隔符“~”,我想说如果你需要一个分隔符,你应该考虑修改它:~[^A-Za-z\s\0-9-.]/~@meze谢谢我试过了,它改为:找不到结尾分隔符“~”
function CheckAlphanumeric($element,$minlength,$maxlength) {
// returns TRUE if it matches all conditions, FALSE if one fails.
return preg_match("/[[:alnum:]-@. ]/", $element) && strlen($element) >= $minlength && strlen($element) <= $maxlength;
}