How to validate CVV number using Regular Expression
Given string str, the task is to check whether it is a valid CVV (Card Verification Value) number or not by using Regular Expression.
The valid CVV (Card Verification Value) number must satisfy the following conditions:
- It should have 3 or 4 digits.
- It should have a digit between 0-9.
- It should not have any alphabet or special characters.
Examples:
Input: str = “561”
Output: true
Explanation:
The given string satisfies all the above mentioned conditions. Therefore, it is a valid CVV (Card Verification Value) number.Input: str = “50614”
Output: false
Explanation:
The given string has five-digit. Therefore, it is not a valid CVV (Card Verification Value) number.Input: str = “5a#1”
Output: false
Explanation: The given string has alphabets and special characters. Therefore, it is not a valid CVV (Card Verification Value) number.
Approach: The idea is to use Regular Expression to solve this problem. The following steps can be followed to compute the answer.
- Get the String.
- Create a regular expression to check the valid CVV (Card Verification Value) number as mentioned below:
regex = "^[0-9]{3, 4}$";
- Where:
- ^ represents the starting of the string.
- [0-9] represents the digit between 0-9.
- {3, 4} represents the string that has 3 or 4 digits.
- $ represents the ending of the string.
- Match the given string with the regular expression. In Java, this can be done by using Pattern.matcher().
- Return true if the string matches with the given regular expression, else return false.
Below is the implementation of the above approach:
C++
// C++ program to validate the // CVV (Card Verification Value) number // using Regular Expression #include <iostream> #include <regex> using namespace std; // Function to validate the CVV // (Card Verification Value) number bool isValidCVVNumber(string str) { // Regex to check valid CVV // (Card Verification Value) number const regex pattern( "^[0-9]{3,4}$" ); // If the CVV (Card Verification Value) // number is empty return false if (str.empty()) { return false ; } // Return true if the CVV // (Card Verification Value) number // matched the ReGex if (regex_match(str, pattern)) { return true ; } else { return false ; } } // Driver Code int main() { // Test Case 1: string str1 = "561" ; cout << isValidCVVNumber(str1) << endl; // Test Case 2: string str2 = "5061" ; cout << isValidCVVNumber(str2) << endl; // Test Case 3: string str3 = "50614" ; cout << isValidCVVNumber(str3) << endl; // Test Case 4: string str4 = "5a#1" ; cout << isValidCVVNumber(str4) << endl; return 0; } // This code is contributed by yuvraj_chandra |
Java
// Java program to validate // CVV (Card Verification Value) // number using regex. import java.util.regex.*; class GFG { // Function to validate // CVV (Card Verification Value) number. // using regular expression. public static boolean isValidCVVNumber(String str) { // Regex to check valid CVV number. String regex = "^[0-9]{3,4}$" ; // Compile the ReGex Pattern p = Pattern.compile(regex); // If the string is empty // return false if (str == null ) { return false ; } // Find match between given string // and regular expression // using Pattern.matcher() Matcher m = p.matcher(str); // Return if the string // matched the ReGex return m.matches(); } // Driver code public static void main(String args[]) { // Test Case 1: String str1 = "561" ; System.out.println(isValidCVVNumber(str1)); // Test Case 2: String str2 = "5061" ; System.out.println(isValidCVVNumber(str2)); // Test Case 3: String str3 = "50614" ; System.out.println(isValidCVVNumber(str3)); // Test Case 4: String str4 = "5a#1" ; System.out.println(isValidCVVNumber(str4)); } } |
Python3
# Python3 program to validate # CVV (Card Verification Value) # number using regex. import re # Function to validate # CVV (Card Verification Value) number. # using regular expression. def isValidCVVNumber( str ): # Regex to check valid # CVV number. regex = "^[0-9]{3,4}$" # Compile the ReGex p = re. compile (regex) # If the string is empty # return false if ( str = = None ): return False # Return if the string # matched the ReGex if (re.search(p, str )): return True else : return False # Driver code # Test Case 1: str1 = "561" print (isValidCVVNumber(str1)) # Test Case 2: str2 = "5061" print (isValidCVVNumber(str2)) # Test Case 3: str3 = "50614" print (isValidCVVNumber(str3)) # Test Case 4: str4 = "5a#1" print (isValidCVVNumber(str4)) # This code is contributed by avanitrachhadiya2155 |
C#
// C# program to validate the // CVV (Card Verification Value) number //using Regular Expressions using System; using System.Text.RegularExpressions; class GFG { // Main Method static void Main( string [] args) { // Input strings to Match // CVV (Card Verification Value) number string [] str={ "561" , "5061" , "50614" , "5a#1" }; foreach ( string s in str) { Console.WriteLine( isValidCVVNumber(s) ? "true" : "false" ); } Console.ReadKey(); } // method containing the regex public static bool isValidCVVNumber( string str) { string strRegex = @"^[0-9]{3,4}$" ; Regex re = new Regex(strRegex); if (re.IsMatch(str)) return ( true ); else return ( false ); } } // This code is contributed by Rahul Chauhan |
Javascript
// Javascript program to validate // CVV Number using Regular Expression // Function to validate the // CVV_Number function isValid_CVV_Number(CVV_Number) { // Regex to check valid // CVV_Number let regex = new RegExp(/^[0-9]{3,4}$/); // if CVV_Number // is empty return false if (CVV_Number == null ) { return "false" ; } // Return true if the CVV_Number // matched the ReGex if (regex.test(CVV_Number) == true ) { return "true" ; } else { return "false" ; } } // Driver Code // Test Case 1: let str1 = "561" ; console.log(isValid_CVV_Number(str1)); // Test Case 2: let str2 = "5061" ; console.log(isValid_CVV_Number(str2)); // Test Case 3: let str3 = "50614" ; console.log(isValid_CVV_Number(str3)); // Test Case 4: let str4 = "5a#1" ; console.log(isValid_CVV_Number(str4)); // Test Case 5: let str5 = "12071998" ; console.log(isValid_CVV_Number(str5)); // Test Case 6: let str6 = "RAH12071998" ; console.log(isValid_CVV_Number(str6)); // This code is contributed by Rahul Chauhan |
true true false false
Time Complexity: O(N) for each testcase, where N is the length of the given string.
Auxiliary Space: O(1)