为什么除了html5输入模式属性之外,这个简单的regex在任何地方都能工作
Why does this simple regex work everywhere except html5 input pattern attribute?
当输入中的值为"1"时,此HTML输入将自己涂成红色,表示模式不匹配。
var inp = document .createElement ('input');
inp .pattern = '^'d+'.?'d*$';
document .getElementById ("foo") .appendChild (inp);
当我在其他地方测试正则表达式/^'d+'.?'d*$/
时,它与"1"匹配。看起来它也应该。
为什么表单元素不匹配?(Firefox)
字符串表示,儿子。
您对模式属性的使用是正确的,因为您使用的是字符串文字。来自MDN:
正则表达式语言与JavaScript语言相同。这个图案周围并没有正向斜线。
然而,在字符串文字中,在斜杠获得字符串文字意义上的li'l解释之前,必须转义'
。如果对其进行转义,它将被视为一个实际的斜杠,然后整个模式将被RegExp引擎识别为一个特殊字符。
var inp = document.createElement('input');
inp.pattern = '^''d+''.?''d*$';
document.getElementById("foo").appendChild(inp);
https://jsfiddle.net/qatt3rwt/4/
相关文章:
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 简单的javascript在Shopify中不起作用
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- Regex代码只允许一个空格
- Regex匹配除“”之外的所有字符;.js”;
- 如何制作简单的php'在Javascript中的foreach等价物
- 用javascript构建自定义的简单regex
- 简单的RegEx检查
- 为什么除了html5输入模式属性之外,这个简单的regex在任何地方都能工作
- 需要简单解释JS中的RegEx模式
- RegEx-匹配简单的集合语法并提取内容
- 用于代码围栏标记的regex.简单吗
- 为什么这个简单的JavaScript密码regex不起作用
- 匹配简单URL的regex无法正常工作
- 在Python中执行简单Javascript Regex
- RegExp不同于使用简单的regex文字
- 简单的JavaScript Regex替换不能在带有方括号的令牌上工作
- 简单模式RegEx验证不返回错误消息
- 简单regex/:[a-z]+/在javascript中未按预期工作
- 简单regex javascript的问题