Javascript 正则表达式总是返回 true
Javascript regex always returns true
var re = /^'[*:*']*/;
alert(re.test("aa"));
始终提醒 true(在任何字符串上)。我做错了什么?我需要检查字符串开头是否有类似 [445:123] 的内容。
你的正则表达式意味着
- 在字符串的开头...
- 可以有零个或多个
[
字符... - 然后零个或多个
:
字符... - 然后零个或多个
]
字符。
字符串"aa"与此匹配。您可能想要类似以下内容:
var re = /^'['d+:'d+']/;
+
量词表示"一个或多个",而*
表示"零或多个"。 'd
转义的意思是"任何数字"。
*编辑 — 如果正则表达式需要匹配类似的东西
[12:2:17:419]
以及,那么它将是
var re = /^'['d+(:'d+)+']/;
您正在检查任意数量的[
,后跟任意数量的:
,后跟任意数量的]
。请注意,这是任意数字 - 其中任何一个出现 0 次都是有效的结果。
听起来你的意思更像是var re= /^'['d+:'d+']/;
在正则表达式中,*
并不意味着通配符匹配,它意味着前一个标记的零个或多个。要匹配任何字符,请改用.
。您想要匹配的内容的正则表达式更像这样......
/^'[.*:.*'].*/
但更好的是更具体一点,用'd
匹配小数,用+
匹配之前的一个或多个标记,匹配后去掉错误的字符......
/^'['d+:'d+']/
相关文章:
- 对于loop.if-仅在经过所有间隔后返回true
- 如果函数返回True,则显示Javascript按钮
- Javascript If else 只返回 TRUE 或只返回 FALSE
- 过滤器返回true或false
- 我对“;返回true"嵌套函数内部;t工作
- 如何在成功输入时使“返回TRUE”
- 检查一个元素是否有一个类与另一个类总是返回true
- JavaScript函数未返回true
- 如果URL中有任何字符串变体匹配,则返回true
- 如何使以下函数返回true或false
- 使用“in”关键字检查 0 始终返回 true
- hasOwnProperty 在对照父对象属性进行检查时返回 true
- 为什么 isNaN 总是返回 true
- _.数组中的每个查找值都返回 true 或 false.使用下划线 JS
- 错误地返回true
- 为什么asp:LinkButton服务器端事件没有'当clientClick返回true时,t激发
- 阻止表单提交 javascript 为什么有一个明显的错误语句返回 true
- Node js命令器args返回true而不是值
- 如何将html表单与php链接,以便在例如单击按钮时返回true
- 从OnClientClick调用函数时,在JavaScript中返回true