Как я могу использовать javascript для проверки, имеет ли строка более 1 целое число?Как проверить, имеет ли строка более 1 целое число, разделенное запятой
ie.
var x = 1,15,30 { returns true }
var x = 13 { returns false }
Как я могу использовать javascript для проверки, имеет ли строка более 1 целое число?Как проверить, имеет ли строка более 1 целое число, разделенное запятой
ie.
var x = 1,15,30 { returns true }
var x = 13 { returns false }
Использование регулярных выражений для поиска групп цифр (\d+
). Если длина всех найденных групп больше, то 1 возвращает true, если не возвращает false.
function moreThenOneNumber(str) {
return str.match(/\d+/g).length > 1;
}
var x = '1,15,30';
var y = '13';
console.log(moreThenOneNumber(x));
console.log(moreThenOneNumber(y));
Если предположить, что все элементы являются целыми числами:
function(s){ return s.indexOf(',')!=-1 }
Принимая во внимание, что вы можете проверить определенную строку, является ли целое число, используя один из многих методов в Интернете, таких этот (How to check if a variable is an integer in JavaScript?) и что эти значения через запятую, вы можете сделать что-то вроде этого:
var x = "1,15,30"; //true
var y = "13"; //false
console.log(check(x));
console.log(check(y));
function check(value) {
var j = 0;
var a = value.split(",");
if (a.length > 0) {
for (var i = 0; i < a.length; i++) {
if (isInt(a[i])) {
j++;
}
if (j >= 2) {
return true;
}
}
}
return false;
}
function isInt(data) {
return data == parseInt(data, 10);
}
Код, который вы опубликовали, не имеет смысла. Где строка? Вы имели в виду написать 'var x = '1,15,30'; // возвращает true'? Каков формат строки? Всегда ли номера всегда разделены символом ','? Могут ли быть поплавки (например, '1.5')? Вы не предоставляете достаточно информации. –