是否可以在正则表达式验证中获取特定消息?
例如
我们的正则表达式为'[0-9]{1,5}'
,用户输入'123456'
,然后输入'max characters exceeded'
之类的消息
如果用户输入'abcd'
,则应显示'invalid characters'
之类的消息。
有没有人有任何想法?
提前致谢。
答案 0 :(得分:1)
没有“自动”解决方案。但是,您可以保存多个正则表达式,并尝试将输入与这些正则表达式匹配,每个正则表达式包含错误消息。例如:
Pattern correctInput = Pattern.compile("\\d{1,5}");
Pattern onlyDigits = Pattern.compile("^\\d*$");
if (!correctInput.matcher(input).find()) {
return onlyDigits.matcher(input).find()) ? "wrong number of characters" : "invalid characters";
}
答案 1 :(得分:0)
如果你使用的是php,你可以这样做:
if (!preg_match('/[0-9]{1,5}/', $agent)) {
if(!preg_match('/^\d+/', $agent)) { //if not numbers
echo 'invalid characters';
} else {
echo 'max characters';
}
}