我有下面這段代碼簡化方法,以確保時間是正確的格式
function isProperTimeForm(clockTime)
{
return (clockTime.length == 8)
&& (isDecimal(clockTime.charAt(0)))
&& (isDecimal(clockTime.charAt(1)))
&& (clockTime.charAt(2) == ':')
&& (isDecimal(clockTime.charAt(3)))
&& (isDecimal(clockTime.charAt(4)))
&& (clockTime.charAt(5) == ':')
&& (isDecimal(clockTime.charAt(6)))
&& (isDecimal(clockTime.charAt(7)));
}
function isDecimal(c)
{
return c <= '9' && c >= '0';
}
其中,因爲你可能會說,是我用來確定用戶是否在給輸入功能正確的「hh:mm:ss」形式表示一個文本框,用於表示以小時,分鐘和秒爲單位的時間的字符串。
我不喜歡我的代碼的外觀,我想知道是否有一個更簡單更有趣的方式來做到這一點。
對此使用正則表達式。 '/^\ d {2}:\ d {2}:\ d {2} $ /' - 簡單得多,IMOHO。 (請注意,這個正則表達式與原始代碼類似,測試的是* format *,但不是* correctness *。也就是說,它應該用於*連詞*和實際邏輯,以檢測'99:88:77'是垃圾儘管它是一種「有效格式」。) – user2864740
刪除此問題並詢問代碼審閱。 –
(太晚了,標記爲遷移。) –