使用jquery / javascript的正整数值

时间:2013-05-07 12:39:41

标签: javascript jquery asp.net-mvc

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

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

以下是我使用它的方式:

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

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

2 个答案:

答案 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, "");