我在我的asp.net MVC应用程序中使用以下js函数单击Ok按钮以确保在文本框中输入的值是整数但它总是返回false;
function isInteger(n) {
return n === +n && n === (n | 0);
}
以下是我使用它的方式:
if (!isInteger(selectedPhoneValue)) {
$("#dialog-numeric-phonevalidation").dialog('open');
return;
}
请建议我如何更改此功能以仅允许正整数/数字值而不使用“。”和“ - ”
答案 0 :(得分:3)
您可以使用正则表达式
function isInteger(n) {
return /^[0-9]+$/.test(n);
}
答案 1 :(得分:3)
function isInteger(n) {
return $.isNumeric(n) && parseInt(n, 10) > 0;
}
<强>更新强>
然后像这样更改if检查:
//Assuming selectedPhoneValue is not already converted to a number.
//Assuming you want an exact length of 10 for your phone number.
if (isInteger(selectedPhoneValue) && selectedPhoneValue.length == 10) {
$("#dialog-numeric-phonevalidation").dialog('open');
return;
}
您可以使用此代码删除“。”和“ - ”字符。
selectedPhoneValue = selectedPhoneValue.replace(/-/g, "").replace(/\./g, "");