IE6的JavaScript问题

时间:2010-04-01 19:12:11

标签: javascript

我有一个javascript要求。

我会将逗号分隔的字符串传递给函数。我需要确保它只包含整数(没有小数),并且值小于2147483648.你能帮帮我吗?

注意::我正在使用IE 6

由于

Lijo

5 个答案:

答案 0 :(得分:1)

function validate(str){
    str=str.split(",")
    for(var a=0;a<str.length;a++){
        if(!str[a].match(/^[0-9]+$/)){
            return false
        }
        if(str[a]*1>=2147483648){
            return false
        }
    }
    return true
}

这不接受负整数或空字符串,是吗?

答案 1 :(得分:0)

parseInt()将处理字符串 - &gt;整数转换为你。就图而言,只需使用条件if/then

进行测试
var new_integer = parseInt(passedString);

if(new_integer < 2147483648){
    /* do something */
} else {
    /* do something else */
}

答案 2 :(得分:0)

您可以这样做:

function getNumberArrayFromString(str) {

   var numbers = str.split(",");
   var numbersArr = new Array();

   for(var i = 0; i < str.length, i++) {
       var number = parseInt(str[i]);

       if(!isNan(number) && number < 2147483648) {
          numbersArr[numbersArr.length] = number;
          //You can also use numbersArr.push(number) but I'm not sure if that's supported in IE6
       }
   }

   return numbersArr;
}

假设我正确理解你的问题。

答案 3 :(得分:0)

function isValid(s){
  try { 
    return parseInt(s.replace(",","")) < 2147483648;
  } catch (e) {
    return false;
  }
}

答案 4 :(得分:0)

试试这个

function check(string){
    var s = string.split(',');
    for(i = 0; i <= s.length; i++){
        if(!isNaN(s[i]) && i >= 2147483648){
            return false
        }
    }
}