简体   繁体   中英

Javascript regex matching on a time

I want to see if the string I have is in the form of HH:MM:SS.

Here is what I have so far:

d = '00:01:01'
d.match(/\d{2}:\d{2}:\d{2}/)
["00:01:02"]

Is there a way to just get a True/False, instead of an array?

Use .test method of Regexp object.

/\d{2}:\d{2}:\d{2}/.test(d)
// true

Perhaps, you can use regex.test(str) but it's also possible using match because on success, match returns an array which is a truthy value and on failure, match returns null which is a falsy value. Check this to understand truthy and falsy .

So, if you use

if(d.match(/\d{2}:\d{2}:\d{2}/)) {
    // true
}
else {
    // false
}

This will work, check this fiddle as an example and this answer as well (about !! ), I've used !! in my example, so you may have doubts.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM