2016-12-14 7 views
1

Как я могу использовать javascript для проверки, имеет ли строка более 1 целое число?Как проверить, имеет ли строка более 1 целое число, разделенное запятой

ie.

var x = 1,15,30 { returns true } 


var x = 13 { returns false } 
+0

Код, который вы опубликовали, не имеет смысла. Где строка? Вы имели в виду написать 'var x = '1,15,30'; // возвращает true'? Каков формат строки? Всегда ли номера всегда разделены символом ','? Могут ли быть поплавки (например, '1.5')? Вы не предоставляете достаточно информации. –

ответ

0

Использование регулярных выражений для поиска групп цифр (\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));

0

Если предположить, что все элементы являются целыми числами:

function(s){ return s.indexOf(',')!=-1 } 
0

Принимая во внимание, что вы можете проверить определенную строку, является ли целое число, используя один из многих методов в Интернете, таких этот (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); 
 
}