Проверка списка
Доброго времени суток ;) Вопрос по регулярным выражениям.
Есть список вида: 1,2,3,4,5,6,7....10,11,...1000,1001 Нужно проверить, что этот список состоит только из цифр и запятых(пробелы тоже могут быть, они потом удаляются специальной функцией в конце). То есть списки вида: 1б2ю3,4,5,6,6 1,,2,4,5,,,,,6,7 1,2,3,4,5,yyy,6 Должны при проверке инициировать ошибку. Пробовал вот так: let regularExpression = /[\D^\,]/ig, но не работает |
Himmelin,
function fn(str)
{
return str.split(",").every( num => num.trim() && num == Number(num))
}
let str = "1,2,3,4, 5,6 ,7";
alert(fn(str)); //true
str = "1б2ю3,4,5,6,6";
alert(fn(str)); //false
str = "1,,2,4,5,,,,,6,7";
alert(fn(str)); //false
str = "1,2,3,4,5,yyy,6";
alert(fn(str)); //false
|
/^\s*\d+(?:\s*,\s*\d+)*\s*$/.test(str) |
Цитата:
alert(test('1,2,3,4,5,6,7'));
alert(test('1, 2,3 ,4, 5 ,6,7'));
alert(test('1б2ю3,4,5,6,6'));
alert(test('1,,2,4,5,,,,,6,7'));
alert(test('1,2,3,4,5,yyy,6'));
function test(Str){
var re=/(^|,)\s*?\d+\s*/g;
var val=Str.replace(re,'');
return Str+' - '+(val=='');
};
|
Всем спасибо! :victory:
|
| Часовой пояс GMT +3, время: 13:15. |