我正在使用正则表达式模式匹配HTML5表单验证.最新版本的Firefox给我一个错误.我才开始在Firefox 46中看到这一点.我认为这不是早期Firefox版本中的问题.
无法检查,
<input pattern='[\@\%]'>因为该模式不是有效的正则表达式:正则表达式中的无效标识转义
由这个非常简单的测试用例引起的:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<form>
<input pattern="[\@\%]">
</form>
</html>
Run Code Online (Sandbox Code Playgroud)
为什么将这些字符转义为错误?我总是在正则表达式中逃避所有不是数字或字母的内容.除了这个版本的Firefox,我从来没有抱怨过这种类型的转义字符.
当我学习正则表达式时,我被告知所有不是数字或字母的东西都可能具有特殊意义.即使它现在没有,它可能在未来的版本中,所以最好逃避它们.这不是真的吗?
是否有我不应该为Firefox逃脱的字符列表?
如何"从字符串的开头和结尾删除特定字符,双引号(),出现任意次数?
我看了一下string.trim(),修剪了任何空白字符,但是不可能提供一个可选的参数"作为搜索的针.