Anchors: string start ^ and end $

In JavaScript, the anchors are the caret ^ and the dollar $ characters, having a specific meaning in a regular expression. The caret corresponds at the beginning of the text and the dollar- at the end.

For example, let’s check whether the text begins with Welcome:

Javascript regexp check whether the text
let str1 = "Welcome to W3Docs"; console.log(/^Welcome/.test(str1)); // true

The pattern ^Welcome means that the string starts and then Sarah. In another example, let’s check whether the text ends with star using book$, like this:

Javascript regexp check whether the text
let str1 = "it's Javascript book"; console.log(/book$/.test(str1)); // true

In such cases, string methods such as startsWith/endsWith can be used instead. More complex tests require using regular expressions.

Testing for a Full Match

The anchors describe above are also used together ^...$ for testing whether the string completely matches the pattern or not.

Let’s try to test whether the a string is a time in 13:54 format or not.

Checking that in the language of regexp will look like this:

Javascript regexp check whether the text
let goodInput = "13:54"; let badInput = "13:546"; let regexp = /^\d\d:\d\d$/; console.log(regexp.test(goodInput)); // true console.log(regexp.test(badInput)); // false

In the example above, the match for \d\d:\d\d should begin after the start of the text ^, and then the end ^ should follow at once.

The behavior of the anchors is different when there is the flag m.

And, finally, the anchors have zero width, as they are tests. It means that they don’t correspond to a character, and force the regexp engine to check the condition.

Practice Your Knowledge

What is true about the use of caret (^) and dollar ($) in JavaScript?

Quiz Time: Test Your Skills!

Ready to challenge what you've learned? Dive into our interactive quizzes for a deeper understanding and a fun way to reinforce your knowledge.

Do you find this helpful?