我有一個接受時間(最多隻有5個字符)的文本框和一個接受am或pm值的下拉列表。字符串時間驗證(在javascript中)
我需要執行一些驗證用於諸如輸入到文本框中的字符串值:
- 如果用戶輸入9 =>應改爲0900
- 9:3 => 0930
- 09:3 => 0930
- 93 =>警報('無效時間值)
- 115 => 0115
- 12 => 1200
- 無效條目如!@#$%^ & *()<>?/〜`,;'「[] _- abcdefg .. => alert('Invalid Time Value')應該顯示。
到目前爲止,我所取得的所有成果都取代了:與''。 例如,如果用戶輸入09:00 => 0900
我需要類似:
如果CLKS是1位,然後rightpad CLKS與2零。
如果2位:CLKS> 12,則警報(無效小時值)
如果3位:CLKS <(%59)(即檢查最後2個字符),然後用1零 或CLKS leftpad> (%59),然後警報('無效分鐘值')
如果4位:clks> 12%(檢查前2個字符),警報('無效小時值') 或(clks> 12%和clks> 59%),然後警報('無效的時鐘時間') 或(clks < 12%)和(clks < 59%),然後按原樣接受該號碼。
如果5位(且都是數字),然後警報(「無效CLK時間」)
這些驗證需要進行腳本標籤內完成。 (我已經使用的後端語言是JSP)。
請幫助我:(
下面是代碼的一部分,我已經寫了:
<script type='text/javascript'>
function clocks(){
var clk = document.getElementById('TIME').value;
var clks = clk.replace('/:/g','');
var ampm = document.getElementById('AMPM').value;
var add = 1200;
if (clks=="")
{
alert("You must enter clock time");
}
else
{
if (ampm=='p')
{
clks=parseFloat(clks) + parseFloat(add);
}
}
}
....
</script>
9:3 => 0930,09:3 => 0930和93 => 0930出現模棱兩可的最好的。你是否需要接受這些投入?如果沒有,我只是將這些標記標記爲無效。 – deceze 2011-02-12 04:42:02
@ deceze:是的deceze.It也必須爲這3個條目工作。這是要求的一部分。 – uno 2011-02-12 04:45:21