3

我在我的 asp.net MVC 应用程序中使用以下 js 函数单击 Ok 按钮,以确保在文本框中输入的值是整数,但它总是返回 false;

function isInteger(n) {
    return n === +n && n === (n | 0);
}

这是我使用它的方式:

  if (!isInteger(selectedPhoneValue)) {                      
     $("#dialog-numeric-phonevalidation").dialog('open');
      return;
     }

请建议我如何更改此功能以仅允许不带“。”的正整数/数字值 和 ”-”

4

2 回答 2

3

您可以改用正则表达式

 function isInteger(n) {
        return /^[0-9]+$/.test(n);
    }
于 2013-05-07T12:42:26.213 回答
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, "");
于 2013-05-07T12:59:57.387 回答