Регулярное выражение (проценты)
Добрый день!
Подскажите регулярное выражение для проверки процентных значений (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, время: 23:13. |