Проверка списка
Доброго времени суток ;) Вопрос по регулярным выражениям.
Есть список вида: 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, время: 09:05. |