I’m trying to make a timecode validation for videos for up to 4 hours, 59min, 59 sec. I’ve made a public .js called timecode.js but the code keeps saying my timecode is wrong (even though the console shows otherwise).
export function timecodeCheck(inputTimecode) {
const timecodeLongRegEx = RegExp('^([0][0-4]):([0-5][0-9]):([0-5][0-9])$'); // includes HH:MM:SS
const timecodeShortRegEx = RegExp('^([0-5][0-9]):([0-5][0-9])$'); // includes 0 or is >10 minutes
const timecodeSuperShortRegEx = RegExp('^[0-9]:([0-5][0-9])$'); // less than 10 minutes
let outputTimecode = "";
console.log("inputTimecode: ", inputTimecode);
if (inputTimecode === timecodeLongRegEx) {
console.log("long timecode entered", inputTimecode)
let outputTimecode = inputTimecode
console.log("Input Timecode fits Long RegEx", inputTimecode);
} else if (inputTimecode === timecodeShortRegEx) {
console.log("short timecode entered", inputTimecode)
let outputTimecode = "00:" + inputTimecode
console.log("Input Timecode fitted Short RegEx, now is", inputTimecode);
} else if (inputTimecode === timecodeSuperShortRegEx) {
console.log("supershort timecode entered", inputTimecode)
let outputTimecode = "00:0" + inputTimecode;
console.log("Input Timecode fitted SuperShort RegEx, now is", inputTimecode);
} else {
outputTimecode = "Timecode is incorrect, use HH:MM:SS";
};
console.log("outputTimecode is :", outputTimecode);
// return timecodeCheck(outputTimecode);
}
I get the timecode string as I wrote it, in the inputTimecode from the function call. Unfortunately, even if I use a timecode like 01:22:34 , fully proper and less than 04:59:59, I still get to the ‘else’ statement
Working in
e.g. Wix Editor, Dev Mode
I’m using the timecodeCheck function to determine 1) if the user put in a valid timecode and 2) to correct a short (mm:ss or m:ss) timecode to hh:mm:ss and return it to the text box.
@CODE-NINJA - I see you are all over Regular Expressions. Mind helping me out?
const timecodeLongRegEx = RegExp('^([0][0-4]):([0-5][0-9]):([0-5][0-9])$'); // includes HH:MM:SS
const timecodeShortRegEx = RegExp('^([0-5][0-9]):([0-5][0-9])$'); // includes 0 or is >10 minutes
const timecodeSuperShortRegEx = RegExp('^[0-9]:([0-5][0-9])$'); // less than 10 minutes
Thank you!