簡體   English   中英

使用正則表達式進行表單驗證

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM