Я хочу использовать регулярное выражение, чтобы «заставить» пользователя правильно отформатировать временную метку.
В данный момент я могу ограничить ввод, чтобы пользователь мог вводить только цифры, тире или двоеточие, используяследующее:
function allownumbers(e) {
var key = window.event ? e.keyCode : e.which;
var keychar = String.fromCharCode(key);
var reg = new RegExp("[-0-9: ]")
if (key == 8) {
keychar = String.fromCharCode(key);
}
if (key == 13) {
key = 8;
keychar = String.fromCharCode(key);
}
return reg.test(keychar);
}
Тем не менее, пользователь все еще может вводить недействительные данные, например, 0000 :: - 12354 подтвердит.
Могу ли я использовать регулярное выражение, чтобы заставить пользователя ввести### - ## - ## ##: ##: ## (например, 2010-12-15 10:57:01)?
(даже круче было бы, если бы автоматически добавлялись тире, двоеточияи пробел, когда он попадет в нужное место в строке.)
Приветствия,
Бен