0

我只需要在文本框中输入“ 0 ”或“ 1 ”或“ 0.5 ”作为输入,使用 PHP。我已经使用了代码,在文本框中只输入数字:

<input type="text" id="tla1" name="tlaCasual"  maxlength="3" onkeyup="enterNumber()" onblur="calculate_casualleave()"  style="width:40px;" >

和javascript是:

<script language="javascript" type="text/javascript">
function enterNumber()
{    
    var e = document.getElementById('tla1');
    if (!/^[0-9]+$/.test(e.value)) 
    {
        alert("Please enter only number.");
        e.value = e.value.substring(0,e.value.length-1);
    }
}   
</script>
4

3 回答 3

1

这与 PHP 无关,PHP 是一种服务器端语言。您也没有指出您要计算的确切内容,但我想您要求正确的正则表达式只允许“0”、“0.0”、“0.5”、“1”和“1.0”,即^(0(\.0|\.5)?|1(\.0)?)$

仅用于“0”、“0.5”和“1”^(0(\.5)?|1)$

于 2013-03-27T12:32:15.013 回答
1

我不明白为什么要使用正则表达式来测试三个可能的值。

if((e.value!=1) && (e.value!=0.5) && (e.value!=0)){
 // error
 }
else{
 // ok
}
于 2013-03-27T12:34:33.090 回答
0

我会假设你的问题是“它不起作用”。

正则表达式确实不接受“0.5”,所以我猜您只需将其更新为:

   function enterNumber(){

   var e = document.getElementById('tla1');

      if (!/^[0-9\.]+$/.test(e.value)) 
    { 
    alert("Please enter only number.");
    e.value = e.value.substring(0,e.value.length-1);
    }
    }   

希望这可以帮助...

于 2013-03-27T12:32:21.897 回答