Validating Credit Card Numbers

  • + 1 comment

    Uisng Python one liners:

    import re
    
    pattern = r"^[456](?!.*(\d)(?:-?\1){3})(\d{3}-?\d{4}-?\d{4}-?\d{4})$"
    
    def validate_credit_card(string):
        match = re.match(pattern, string)
        return "Valid" if match else "Invalid"
    
    if __name__ == "__main__":
        T = int(input())
        results = [validate_credit_card(input()) for card in range(T)]
        print("\n".join(results))