获取有关正则表达式验证的特定消息

时间:2014-11-09 06:59:44

标签: java android regex

是否可以在正则表达式验证中获取特定消息?

例如

我们的正则表达式为'[0-9]{1,5}',用户输入'123456',然后输入'max characters exceeded'之类的消息 如果用户输入'abcd',则应显示'invalid characters'之类的消息。

有没有人有任何想法?

提前致谢。

2 个答案:

答案 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';
    }

}