我有一个javascript要求。
我会将逗号分隔的字符串传递给函数。我需要确保它只包含整数(没有小数),并且值小于2147483648.你能帮帮我吗?
注意::我正在使用IE 6
由于
Lijo
答案 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
}
}
}