[英]form validation with regular expression
我正在處理一個接受表單輸入並計算包括增值稅在內的總計的腳本。 我正在嘗試驗證用戶輸入,以確保他和她僅使用整數。
我的問題是當我輸入第一個數字時。 1它引發我的警報。 當繼續添加數字時,它可以正常工作。 在輸入字母時,它會按預期工作並返回警報。
我不太清楚發生這種情況,因為我正在使用onkeydown事件來激活評估功能。 由於consoleLog告訴我值100被解析為10,1000被解析為100。
如果更改它們,以便現在使用onkeyup,計算器功能將向我顯示值100解析為10,1000解析為100。但是,如果該字段為空,則由於警告框不斷彈出,該表單將變得無用。 盡管您有機會輸入任何內容,但評估仍然有效。
我現在將代碼HTML首先發布,然后將JS發布
<input type="text" id="price" name="price" onkeyup="checkIfWholeNo();" onkeydown="calculate();" />
function checkIfWholeNo() {
var price = document.getElementById('price').value;
if(/^\d+$/.test(parseInt(price))){}
else {alert("not a number"); return false;}
}
}
問題A:我的評估功能是否有問題導致這種情況發生?
問題B:如果它與事件處理程序有關,該如何解決它,以便在兩個函數上都獲得onkeyup的效果?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.