I am trying to make an input field that uses a pattern to check if the input is a valid windows file path. The pattern i have is
/^(?:[\w]\:|\\)(\\[a-zA-Z_\-\s0-9\.()~!@#$%^&=+';,{}\[\]]+)+\.(exe)$/g
however when putting this into the pattern attribute of an input field it says (in console)
Pattern attribute value ^(?:[\w]:|\)(\[a-zA-Z_-\s0-9.()~!@#$%^&=+';,{}[]]+)+.(exe)$ is not a valid regular expression: Uncaught SyntaxError: Invalid regular expression: /^(?:[\w]:|\)(\[a-zA-Z_-\s0-9.()~!@#$%^&=+';,{}[]]+)+.(exe)$/: Invalid escape
I have tried several different ways of writing this but none seem to work.
You only need to escape the characters in the character class that must be escaped otherwise, you will always get this error.
Use
See the JSFiddle
Details:
]
inside the character class must be escaped[
and.
must not be escaped:
must never be esacaped, it is never a special character[a-zA-Z0-9_]
=\w
pattern
is always anchored by default, you need no^
and$
anchors.