我有一个接受时间(最多只有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