我是正则表达式的新手,并尝试编写程序以查看用户是否输入了有效范围内的信用卡号(在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");
}
答案 0 :(得分:3)
这很简单。这是你的正则表达式:
"\\d{13,16}"
答案 1 :(得分:2)
在使用Luhn formula之前,此问题已得到解决。这是Java implementation