Регулярное выражение (проценты)
Добрый день!
Подскажите регулярное выражение для проверки процентных значений (10%, 100%, 23% , 0.2% и т.п.)? |
alert((/^[\d\.]+%$/).test('10.0%')); |
alert((/^\d+\.*\d*%$/).test('10%')); |
j0hnik,
alert((/^\d+\.*\d*%$/).test('1..0%')); alert((/^\d+\.?\d*%$/).test('1..0%')); |
Dilettante_Pro, таки да.
alert((/^\d+\.{0,1}\d*%$/).test('10..0%')); |
Спасибо. А как сделать ограничение максимум 100% ?
|
Dilettante_Pro,
alert((/^\d+\.?\d*%$/).test('1.%')); Nexus alert((/^\d+\.{0,1}\d*%$/).test('1.%')); |
tai,
const val='101%'; if(val.replace(/\D+?/g,'')>100) alert('Ахтунг'); |
j0hnik,
alert((/^\d+\.??\d+%$/).test('10.%')); |
Nexus,
ок |
j0hnik,
1. - такая запись десятичных чисел не считается ошибкой alert(1. + 2.); Если только для красоты.... то да! |
Цитата:
<script> const val = ['100%','101%','99.8%','.8%','1.%', '0.0001%', '2%']; const reg = /^(100|\d{0,2}(\.\d*)?)%$/; function test(a) { let obj = {}; obj[a] = reg.test(a) return obj } const a = val.map(test); document.write(JSON.stringify(a, null, 4)); </script> |
100||\d - | или "ничего" тоже требуется?
|
laimas,
??? |
Логическое ИЛИ, это ||, а в рег. выражениях |
|
laimas,
спасибо, убрал. |
Можете еще подсказать как эту проверку сделать на ввод данных?
Я использую Inputmask. И если поставить в маске значение " 100| ", то нельзя будет ввести 1% или 10%, 11%, 12% и т.д. |
Часовой пояс GMT +3, время: 05:26. |