1

我正在尝试使用 JavaScript 检查我的字符串中是否只有数字或小数。

如果它在字符串中只有数字或小数,那么它应该通过,否则它想显示一个警告说有错误。

我试过使用下面的代码,但它没有提醒任何东西..

难道我做错了什么?

var myString = "abc"; 

        if (myString.matches("[0-9].") && myString.length() > 2) 
        {
            alert("Pass");
        }
        else
        {
            alert("Error");
        }
4

5 回答 5

1

采用^\d*[0-9](\.\d*[0-9])?$

演示

if (myString.match(/^\d*[0-9](\.\d*[0-9])?$/) && myString.length > 2) {
        alert("Pass");
    } else {
        alert("Error");
    }
于 2012-11-08T07:01:23.113 回答
1

让我们简化:-)

 if (/^[\d\.]{3,}$/.test(myString)) {
    alert("Pass");
 } else {
    alert("Error");
 }
于 2012-11-08T07:03:10.957 回答
0

尝试:

/^\d+$/.test(myString)

返回一个布尔值而不是一个数组或空值,这就是match它的作用。共:

if (/^\d{2,}$/.test(myString)){ 
...
}else{
...
}
于 2012-11-08T07:00:33.247 回答
0

你可以像这样把它们放在一起:

alert( /^\d{3,}$/.test( myString ) ? 'Pass' : 'Error' ) 
于 2012-11-08T07:03:05.680 回答
0

您的代码错误 myString.length() 是一个函数,实际上不是 myString 的长度

var myString = "abc"; 

    if (myString.match(/[0-9]/, "g") && myString.length > 2) 
    {
        alert("Pass");
    }
    else
    {
        alert("Error");
    }
于 2012-11-08T07:14:44.510 回答