Javascript 正则表达式一次匹配
Posted
技术标签:
【中文标题】Javascript 正则表达式一次匹配【英文标题】:Javascript regex matching on a time 【发布时间】:2013-11-19 21:10:08 【问题描述】:我想看看我的字符串是不是HH:MM:SS的形式。
这是我目前所拥有的:
d = '00:01:01'
d.match(/\d2:\d2:\d2/)
["00:01:02"]
有没有办法只得到一个真/假,而不是一个数组?
【问题讨论】:
***.com/questions/8318236/… 看看这个 一个数组是“真实的”......所以你仍然可以检查if(d.match(...))
那我该怎么做@devnull69
咳咳……我刚刚告诉过你,不是吗?您只需将我的答案中的...
替换为您已有的正则表达式
你也可以使用 .test() developer.mozilla.org/en-US/docs/Web/javascript/Reference/…
【参考方案1】:
使用 Regexp 对象的.test
方法。
/\d2:\d2:\d2/.test(d)
// true
【讨论】:
【参考方案2】:也许,您可以使用 regex.test(str),但也可以使用 match
,因为成功时,match
返回 array
,这是一个 truthy
值,失败时,match
返回 null
是一个falsy
值。检查此以了解truthy and falsy。
所以,如果你使用
if(d.match(/\d2:\d2:\d2/))
// true
else
// false
这会起作用,请检查这个小提琴为an example 和this answer(关于!!
),我在我的例子中使用了!!
,所以你可能会有疑问。
【讨论】:
以上是关于Javascript 正则表达式一次匹配的主要内容,如果未能解决你的问题,请参考以下文章
IFE_part2_JavaScript_正则表达式运用(判断邮箱/手机号码)