jQuery - check proper time format
javascript, jquery
Solution
you can use regex in JavaScript too:
http://www.w3schools.com/jsref/jsref_obj_string.asp
use .search() - http://www.w3schools.com/jsref/jsref_search.asp
or .match() - http://www.w3schools.com/jsref/jsref_match.asp
or .replace() - http://www.w3schools.com/jsref/jsref_replace.asp
EDIT:
<script>
var regexp = /([01][0-9]|[02][0-3]):[0-5][0-9]/;
var correct = ($('input').val().search(regexp) >= 0) ? true : false;
</script>
EDIT2:
here the documentation of regexpobject in javascript:
http://www.w3schools.com/jsref/jsref_obj_regexp.asp
<script>
var regexp = /([01][0-9]|[02][0-3]):[0-5][0-9]/;
var correct = regexp.test($('input').val());
</script>
EDIT3:
fixed the regexp
Problem
I have an input field where the user enters a time in format mm:hh. The format is specified inside the field (default value 09:00) but I still want to perform a client-side check to see if the format is correct. Since the existing client-side validation is in jQuery, I'd like to keep this in jQuery as well. I'm mainly a PHP programmer so I need some help writing this one in an optimal manner. I know I can check each individual character (first two = digits, third = ':', last two = digits) but is there a way to do it more elegantly, while also checking the hour count is not larger than 23 and the minute count isn't larger than 59? In PHP I would use regular expressions, I assume there's something similar for jQuery? Something like this makes sense to me: ``` ([01]?[0-9]|2[0-3]):[0-5][0-9] ``` But I'm not too familiar with jQuery syntax so I'm not sure what to do with it.