Check if a Regex matches an Entire String in JavaScript

avatar
Borislav Hadzhiev

Last updated: Mar 4, 2024
2 min

banner

# Check if a Regex matches an Entire String

Use the test() method to check if a regular expression matches an entire string, e.g. /^hello$/.test(str).

The caret ^ and dollar sign $ match the beginning and end of the string.

index.js
const str = 'hello'; const test = /^hello$/.test(str); console.log(test); // ๐Ÿ‘‰๏ธ true const match = str.match(/^hello$/); console.log(match); // ๐Ÿ‘‰๏ธ ['hello']

check if regex matches entire string

The code for this article is available on GitHub

The RegExp.test() method returns true if the regular expression is matched in the string and false otherwise.

The forward slashes / / mark the beginning and end of the regular expression.

The caret ^ and dollar sign $ match the beginning and end of the input.

The caret ^ lets us specify that the string has to start with a given character and the dollar sign $ that it has to end with the specified character.

Anything in between also has to match.

If either of the conditions is not met, the test() method will return false.

index.js
const str = 'hello'; const test = /^hell$/.test(str); console.log(test); // ๐Ÿ‘‰๏ธ false

The regular expression doesn't match the entire string, so the test() method returns false.

# Getting an array of the matches

If you need to get an array containing the match(es), you can use the String.match method.

index.js
const str = 'hello123'; const match = str.match(/^hello[0-9]+$/g); console.log(match); // ๐Ÿ‘‰๏ธ ['hello123'] console.log(match[0]); // ๐Ÿ‘‰๏ธ 'hello123'

getting array of the matches

The code for this article is available on GitHub

The String.match() method matches a string against a regular expression.

Our regular expression uses a character class [] to check for a range of digits 0-9 at the end of the string.

The plus + matches one or more of the preceding items (digits).

The match() method returns an array containing the matches (if any) or null if no matches are found.

Use the logical OR (||) operator to provide an empty array as a fallback in case null is returned.

index.js
const str = 'hello123'; const match = str.match(/^bye[0-9]+$/) || []; console.log(match); // ๐Ÿ‘‰๏ธ []

If there is no match, we return an empty array. This prevents us from getting an error when we try to access the array element at index 0 on a null value.

# Additional Resources

You can learn more about the related topics by checking out the following tutorials:

I wrote a book in which I share everything I know about how to become a better, more efficient programmer.
book cover
You can use the search field on my Home Page to filter through all of my articles.

Copyright ยฉ 2024 Borislav Hadzhiev