我有一种方法,我尝试验证值,值可以是任何但不应该是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");
}
}
但即使我输入正确的值,这也会返回false。
the minimum value should be greater than 0 and maximum value is 99999.99
答案 0 :(得分:2)
对于那些回答正确的人来说有点偏离主题,但是将值转换为浮动并测试它可能更容易。
function change(){
var stBill = document.getElementById("myTextField").value;
var num = parseFloat(stBill, 10);
if(num > 0 && num <= 99999.99){
alert("True");
}else{
alert("False");
}
}
答案 1 :(得分:1)
您无法针对正则表达式测试stBill
(输入元素对象本身)。你需要测试它的值:
RE.test(stBill.value)
答案 2 :(得分:1)
getListR :: ListId -> UserId -> Handler Html
getListR listId userId = do
list <- runDB $ get404 listId
user_lists <- runDB $ selectList [UserId ==. userId] [Desc UserListsId]
items <- runDB $ selectList [ItemListId ==. listId list, UserId ==. userId user_lists] [Desc ItemId]
defaultLayout $ do
$(widgetFile "list")
答案 3 :(得分:1)
尝试修复
RE.test(stBill.value)
或
var stBill = document.getElementById("myTextField").value;
你应该寻找价值而不是元素。 :)