我正在尝试创建一个使用模式的输入字段来检查输入是否是有效的Windows文件路径。我的模式是
/^(?:[\w]\:|\\)(\\[a-zA-Z_\-\s0-9\.()~!@#$%^&=+';,{}\[\]]+)+\.(exe)$/g
然而,当把它放入输入字段的pattern属性时,它说(在控制台中)
模式属性值^(?:[\ w]:| \)(\ [a-zA-Z _- \ s0-9。()〜!@#$%^&= +';,{} []] + )+。(exe)$不是有效的正则表达式:Uncaught SyntaxError:无效的正则表达式:/ ^(?:[\ w]:| \)(\ [a-zA-Z _- \ s0-9。() 〜!@#$%^&= +';,{} []] +)+。(exe)$ /:无效的逃脱
我已经尝试了几种不同的写法,但似乎都没有用。
发布于 2018-10-23 09:26:11
只需要转义必须转义的字符类中的字符,否则将始终收到此错误。
使用
pattern="(?:\w:|\\)(\\[\w\s.()~!@#$%^&=+';,{}[\]-]+)+\.exe"
细节:
]
必须转义字符类的内部[
和.
不能逃脱:
绝不能esacaped,这是从来没有特殊字符[a-zA-Z0-9_]
= \w
pattern
总是被默认的停靠,你不需要^
和$
锚。https://stackoverflow.com/questions/-100005090
复制相似问题