Here is the regex you are looking for: const regex = /[A-Za-z_%]/g Explanation: /.../ - Javascript regex literal syntax [...] - A group of possible matches (exp. The m flag is used to specify that a multiline input string should be treated as multiple lines. You construct a regular expression in one of two ways: Using a regular expression literal, which consists of a pattern enclosed between slashes, as follows: Regular expression literals provide compilation of the regular expression when the script is loaded. Syntax string.match(regexp) Parameters. Perform a "sticky" search that matches starting at the current position in the target string. Results update in real-time as you type. That is: first it checks if we have Java, otherwise – looks for JavaScript and so on. We’re almost done, but there’s a problem. While regex can be used in your JavaScript code for a number of reasons, probably the most frequent reason will be to check the input users enter through forms. It has 3 modes: If the regexp doesn’t have flag g, then it returns the first match as an array with capturing groups and properties index (position of the match), input (input string, equals str): For example, to match a single "a" followed by zero or more "b"s followed by "c", you'd use the pattern /ab*c/: the * after "b" means "0 or more occurrences of the preceding item." (This property is set only if the regular expression uses the g option, described in. Updated at the time that the regular expression is created, not executed. So we can use it to search from a given position: let regexp = /love/gi; let str = "I love JavaScript"; // start the search from position 10: regexp.lastIndex = … Online regex tester, debugger with highlighting for PHP, PCRE, Python, Golang and JavaScript. It accepts 25:99 as the time (as 99 minutes match the pattern, but that time is invalid). Patterns are used with RegEx exec and test methods, and the match, replace, search, and split methods of String. It should match the full tag: it may have no attributes