Related Articles

# Check whether the given string is a valid identifier

• Last Updated : 03 Jun, 2021

Given a string str, the task is to check if the string is a valid identifier or not. In order to qualify as a valid identifier, the string must satisfy the following conditions:

1. It must start with either underscore(_) or any of the characters from the ranges [‘a’, ‘z’] and [‘A’, ‘Z’].
2. There must not be any white space in the string.
3. And, all the subsequent characters after the first character must not consist of any special characters like \$, #, % etc.

Examples:

Input: str= “_geeks123”
Output: Valid
Input: str = “123geeks_”
Output: Invalid

Approach: Traverse the string character by character and check whether all the requirements are met for it to be a valid identifier i.e. first character can only be either ‘_’ or an English alphabet and the rest of the characters must neither be a white space or any special character.
Below is the implementation of the above approach:

## C++

 `// C++ implementation of the approach``#include ``using` `namespace` `std;` `// Function that returns true if str``// is a valid identifier``bool` `isValid(string str, ``int` `n)``{` `    ``// If first character is invalid``    ``if` `(!((str[0] >= ``'a'` `&& str[0] <= ``'z'``)``          ``|| (str[0] >= ``'A'` `&& str[0] <= ``'Z'``)``          ``|| str[0] == ``'_'``))``        ``return` `false``;` `    ``// Traverse the string for the rest of the characters``    ``for` `(``int` `i = 1; i < str.length(); i++) {``        ``if` `(!((str[i] >= ``'a'` `&& str[i] <= ``'z'``)``              ``|| (str[i] >= ``'A'` `&& str[i] <= ``'Z'``)``              ``|| (str[i] >= ``'0'` `&& str[i] <= ``'9'``)``              ``|| str[i] == ``'_'``))``            ``return` `false``;``    ``}` `    ``// String is a valid identifier``    ``return` `true``;``}` `// Driver code``int` `main()``{``    ``string str = ``"_geeks123"``;``    ``int` `n = str.length();` `    ``if` `(isValid(str, n))``        ``cout << ``"Valid"``;``    ``else``        ``cout << ``"Invalid"``;` `    ``return` `0;``}`

## Java

 `// Java implementation of the approach``import` `java.util.*;` `class` `GFG``{` `// Function that returns true if str``// is a valid identifier``static` `boolean` `isValid(String str, ``int` `n)``{` `    ``// If first character is invalid``    ``if` `(!((str.charAt(``0``) >= ``'a'` `&& str.charAt(``0``) <= ``'z'``)``        ``|| (str.charAt(``0``)>= ``'A'` `&& str.charAt(``0``) <= ``'Z'``)``        ``|| str.charAt(``0``) == ``'_'``))``        ``return` `false``;` `    ``// Traverse the string for the rest of the characters``    ``for` `(``int` `i = ``1``; i < str.length(); i++)``    ``{``        ``if` `(!((str.charAt(i) >= ``'a'` `&& str.charAt(i) <= ``'z'``)``            ``|| (str.charAt(i) >= ``'A'` `&& str.charAt(i) <= ``'Z'``)``            ``|| (str.charAt(i) >= ``'0'` `&& str.charAt(i) <= ``'9'``)``            ``|| str.charAt(i) == ``'_'``))``            ``return` `false``;``    ``}` `    ``// String is a valid identifier``    ``return` `true``;``}` `// Driver code``public` `static` `void` `main(String args[])``{``    ``String str = ``"_geeks123"``;``    ``int` `n = str.length();` `    ``if` `(isValid(str, n))``        ``System.out.println(``"Valid"``);``    ``else``        ``System.out.println(``"Invalid"``);``}``}` `// This code is contributed by SURENDRA_GANGWAR`

## Python3

 `# Python3 implementation of the approach` `# Function that returns true if str1``# is a valid identifier``def` `isValid(str1, n):` `    ``# If first character is invalid``    ``if` `(((``ord``(str1[``0``]) >``=` `ord``(``'a'``) ``and``          ``ord``(str1[``0``]) <``=` `ord``(``'z'``)) ``or``         ``(``ord``(str1[``0``]) >``=` `ord``(``'A'``) ``and``          ``ord``(str1[``0``]) <``=` `ord``(``'Z'``)) ``or``          ``ord``(str1[``0``]) ``=``=` `ord``(``'_'``)) ``=``=` `False``):``        ``return` `False` `    ``# Traverse the for the rest of the characters``    ``for` `i ``in` `range``(``1``, ``len``(str1)):``        ``if` `(((``ord``(str1[i]) >``=` `ord``(``'a'``) ``and``              ``ord``(str1[i]) <``=` `ord``(``'z'``)) ``or``             ``(``ord``(str1[i]) >``=` `ord``(``'A'``) ``and``              ``ord``(str1[i]) <``=` `ord``(``'Z'``)) ``or``             ``(``ord``(str1[i]) >``=` `ord``(``'0'``) ``and``              ``ord``(str1[i]) <``=` `ord``(``'9'``)) ``or``              ``ord``(str1[i]) ``=``=` `ord``(``'_'``)) ``=``=` `False``):``            ``return` `False` `    ``# is a valid identifier``    ``return` `True` `# Driver code``str1 ``=` `"_geeks123"``n ``=` `len``(str1)` `if` `(isValid(str1, n)):``    ``print``(``"Valid"``)``else``:``    ``print``(``"Invalid"``)` `# This code is contributed by mohit kumar`

## C#

 `// C# implementation of the approach``using` `System;` `class` `GFG``{` `// Function that returns true if str``// is a valid identifier``static` `bool` `isValid(String str, ``int` `n)``{``    ``// If first character is invalid``    ``if` `(!((str[0] >= ``'a'` `&& str[0] <= ``'z'``)``        ``|| (str[0] >= ``'A'` `&& str[0] <= ``'Z'``)``        ``|| str[0] == ``'_'``))``        ``return` `false``;` `    ``// Traverse the string for the rest of the characters``    ``for` `(``int` `i = 1; i < str.Length; i++)``    ``{``        ``if` `(!((str[i] >= ``'a'` `&& str[i] <= ``'z'``)``            ``|| (str[i] >= ``'A'` `&& str[i] <= ``'Z'``)``            ``|| (str[i] >= ``'0'` `&& str[i] <= ``'9'``)``            ``|| str[i] == ``'_'``))``            ``return` `false``;``    ``}` `    ``// String is a valid identifier``    ``return` `true``;``}` `// Driver code``public` `static` `void` `Main(String []args)``{``    ``String str = ``"_geeks123"``;``    ``int` `n = str.Length;` `    ``if` `(isValid(str, n))``        ``Console.WriteLine(``"Valid"``);``    ``else``        ``Console.WriteLine(``"Invalid"``);``}``}` `// This code contributed by Rajput-Ji`

## PHP

 `= ``'a'` `&& ``\$str``[0] <= ``'z'``) ||``          ``(``\$str``[0] >= ``'A'` `&& ``\$str``[0] <= ``'Z'``) ||``           ``\$str``[0] == ``'_'``))``        ``return` `false;` `    ``// Traverse the string``    ``// for the rest of the characters``    ``for` `(``\$i` `= 1; ``\$i` `< ``strlen``(``\$str``); ``\$i``++)``    ``{``        ``if` `(!((``\$str``[``\$i``] >= ``'a'` `&& ``\$str``[``\$i``] <= ``'z'``) ||``              ``(``\$str``[``\$i``] >= ``'A'` `&& ``\$str``[``\$i``] <= ``'Z'``) ||``              ``(``\$str``[``\$i``] >= ``'0'` `&& ``\$str``[``\$i``] <= ``'9'``) ||``               ``\$str``[``\$i``] == ``'_'``))``            ``return` `false;``    ``}` `    ``// String is a valid identifier``    ``return` `true;``}` `// Driver code``\$str` `= ``"_geeks123"``;``\$n` `= ``strlen``(``\$str``);` `if` `(isValid(``\$str``,``\$n``))``    ``print``(``"Valid"``);``else``    ``print``(``"Invalid"``);` `// This code is contributed by Ryuga``?>`

## Javascript

 ``
Output:
`Valid`

Attention reader! Don’t stop learning now. Join the First-Step-to-DSA Course for Class 9 to 12 students , specifically designed to introduce data structures and algorithms to the class 9 to 12 students

My Personal Notes arrow_drop_up