Я новичок в регулярных выражениях и пытаюсь написать программу, чтобы узнать, вводит ли пользователь номер кредитной карты, который находится в допустимом диапазоне (в диапазоне от 13 до 16 и всех цифр). Ниже приведен код Java, который я написал, и мое регулярное выражение не заботится о моей потребности.Regex для проверки номеров кредитных карт
//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");
}
Что именно требуется? – Steve
Все пробелы в вашем шаблоне регулярных выражений определенно являются проблемой. – MElliott
Не забывайте контрольную цифру. Просто проверка регулярным выражением на длину не делает его действительным номером cc. – Zavior