接受大于零的值,甚至可以是 0.01 或 0.10
Accept value greater than zero and the value can be even 0.01 or 0.10
我有一种方法可以尝试验证该值,该值可以是任何但不应该是 zero
function change(){
var bill= document.getElementById("myTextField")
var RE = /^(?!^0*$)(?!^0*\.0*$)^\d{1,2}(\.\d{1,2})?$/;
if(RE.test(bill)){
alert("True");
}else{
alert("False");
}
}
但是即使我输入正确的值,这个 returns 还是错误的。
the minimum value should be greater than 0 and maximum value is 99999.99
您无法针对正则表达式测试 stBill
输入元素对象本身。您需要测试它的价值:
RE.test(stBill.value)
function change(){
var stBill = Math.round(document.getElementById("myTextField").value * 100)/ 100;
var RE = /^(?!^0*$)(?!^0*\.0*$)^\d{1,2}(\.\d{1,2})?$/;
if(RE.test(stBill)){
alert("True");
}else{
alert("False");
}
}
测试值而不是元素,您选择的是元素而不是它的值
Demo Fiddle
尝试修复
RE.test(stBill.value)
或
var stBill = document.getElementById("myTextField").value;
您应该寻找价值而不是元素。 :)
回答正确的人有点偏离主题,但将值转换为浮点数并进行测试可能更容易。
function change(){
var stBill = document.getElementById("myTextField").value;
var num = parseFloat(stBill, 10);
if(num > 0 && num <= 99999.99){
alert("True");
}else{
alert("False");
}
}
我有一种方法可以尝试验证该值,该值可以是任何但不应该是 zero
function change(){
var bill= document.getElementById("myTextField")
var RE = /^(?!^0*$)(?!^0*\.0*$)^\d{1,2}(\.\d{1,2})?$/;
if(RE.test(bill)){
alert("True");
}else{
alert("False");
}
}
但是即使我输入正确的值,这个 returns 还是错误的。
the minimum value should be greater than 0 and maximum value is 99999.99
您无法针对正则表达式测试 stBill
输入元素对象本身。您需要测试它的价值:
RE.test(stBill.value)
function change(){
var stBill = Math.round(document.getElementById("myTextField").value * 100)/ 100;
var RE = /^(?!^0*$)(?!^0*\.0*$)^\d{1,2}(\.\d{1,2})?$/;
if(RE.test(stBill)){
alert("True");
}else{
alert("False");
}
}
测试值而不是元素,您选择的是元素而不是它的值
Demo Fiddle
尝试修复
RE.test(stBill.value)
或
var stBill = document.getElementById("myTextField").value;
您应该寻找价值而不是元素。 :)
回答正确的人有点偏离主题,但将值转换为浮点数并进行测试可能更容易。
function change(){
var stBill = document.getElementById("myTextField").value;
var num = parseFloat(stBill, 10);
if(num > 0 && num <= 99999.99){
alert("True");
}else{
alert("False");
}
}