alert((/^[\d\.]+%$/).test('10.0%'));
alert((/^\d+\.*\d*%$/).test('10%'));
alert((/^\d+\.*\d*%$/).test('1..0%'));
alert((/^\d+\.?\d*%$/).test('1..0%'));
alert((/^\d+\.{0,1}\d*%$/).test('10..0%'));
alert((/^\d+\.?\d*%$/).test('1.%'));
alert((/^\d+\.{0,1}\d*%$/).test('1.%'));
const val='101%'; if(val.replace(/\D+?/g,'')>100) alert('Ахтунг');
alert((/^\d+\.??\d+%$/).test('10.%'));