0

PHP を使用して、入力としてテキスト ボックスに「 0」または「1」または「0.5 」のみを入力する必要があります。すでにコードを使用して、テキストボックスに数字のみを入力します。

<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

正規表現を使用して 3 つの可能な値をテストする理由がわかりません。

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 に答える