我必须使用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>
答案 0 :(得分:1)
这与PHP无关,PHP是一种服务器端语言。你也没有指出你想要计算什么,但是
我想你要求正确的Regex只允许“0”,“0.0”,“0.5”,“1”和“1.0”,这是^(0(\.0|\.5)?|1(\.0)?)$
仅对“0”,“0.5”和“1”使用^(0(\.5)?|1)$
答案 1 :(得分:1)
我不明白为什么使用正则表达式来测试三个可能的值。
if((e.value!=1) && (e.value!=0.5) && (e.value!=0)){
// error
}
else{
// ok
}
答案 2 :(得分: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);
}
}
希望这会有所帮助......