正则表达式检查信用卡号码

时间:2014-03-04 21:30:34

标签: java regex

我是正则表达式的新手,并尝试编写程序以查看用户是否输入了有效范围内的信用卡号(在13到16的范围内以及所有数字)。以下是我编写的java代码,我的正则表达式不能满足我的需要。

//Credit card number 1234567891234567 matched against regex
boolean b = Pattern.matches("4\ d{ 12} (\ d{ 3} )?", "1234567891234567");
if(b==true)
{
        System.out.println("credit card is valid");
}
else
{
        System.out.println("credit card is not valid");
}

2 个答案:

答案 0 :(得分:3)

这很简单。这是你的正则表达式:

"\\d{13,16}"

答案 1 :(得分:2)

在使用Luhn formula之前,此问题已得到解决。这是Java implementation