Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Регулярка для диапазона 0 - 1 (https://javascript.ru/forum/misc/63942-regulyarka-dlya-diapazona-0-1-a.html)

person 10.07.2016 06:08

Регулярка для диапазона 0 - 1
 
Нужно проверить диапазон от нуля(просто ноль) до единицы(просто 1), после нуля может быть дробь 1-3 цифры после точки.
0 или 1 или 0.ххх
собственно это прозрачность в RGBA, проверку rgb состовляющих я написал, а тут стал в тупик
^\([0-9]{1,3},[0-9]{1,3},[0-9]{1,3}\)$


и ещё, можно ли проверить диапазон 0-255, чтобы отдельную проверку после регулярки не делать, а сразу одним махом проверить

к моменту проверки регуляркой имею строку такого вида, всё инородное уже удалено
(123,234,11,0.ххх)

рони 10.07.2016 08:57

person,
https://github.com/regexhq/rgba-regex

person 12.07.2016 05:47

Страница не грузится, начинает и как обрезает, пробовал с двух браузеров в разные дни.
Остальной инет работает, сюда то я зашёл.

рони 12.07.2016 06:04

Regex for matching RGBA color strings
 
person,
из документации с github
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://stacksnippets.net/scripts/snippet-javascript-console.min.js?v=1"></script>
  <script>
function rgbaRegex(options) {
  options = options || {};

  return options.exact ?
    /^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d*(?:\.\d+)?)\)$/ :
    /rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d*(?:\.\d+)?)\)/ig;
}
console.log("rgbaRegex({ exact: true }).test('rgba(12, 34, 56, .8)') => ", rgbaRegex({ exact: true }).test('rgba(12, 34, 56, .8)'));
console.log("rgbaRegex({ exact: true }).test('unicorns') => ", rgbaRegex({ exact: true }).test('unicorns'));
console.log("rgbaRegex({ exact: true }).test('rgba(,,,)') =>", rgbaRegex({ exact: true }).test('rgba(,,,)'));
console.log("rgbaRegex().exec('rgba(12, 34, 56, .8)') => ",rgbaRegex().exec('rgba(12, 34, 56, .8)'));
console.log("'rgba(12, 34, 56, .8) cats and dogs'.match(rgbaRegex()) => ",'rgba(12, 34, 56, .8) cats and dogs'.match(rgbaRegex()));
  </script>
</head>

<body>
</body>
</html>

person 13.07.2016 06:21

рони, спасибо.

что бросается в глаза, я хоть и не гений регулярки, но кое что знаю
вот это (\d{1,3}) пропустит диапазон 0-999, можно 0-255
вот это (\d*(?:\.\d+)?) пропустит 0-9, можно 0 и 1, и много знаков после запятой, хотя браузеры "понимают" только три знака

но всё равно спасибо, другого ни чего нет, придётся проверками обвешивать

рони 13.07.2016 08:47

person,
http://stackoverflow.com/questions/1...a-color-coding
http://stackoverflow.com/questions/7...h-rgb-and-rgba

person 18.08.2016 06:01

Вот тут нашлось искомое, полноценная регулярка и всё по русски.

Регулярное выражение для проверки RGB и RGBA

рони, ещё раз спасибо, и извини, но подписка почему то не приходит.

warren buffet 18.08.2016 11:07

person, ты издеваешься? У тебя только числа и эти числа в скобках. Вот тут выдерни полезную регу http://stackoverflow.com/questions/7...h-rgb-and-rgba


Часовой пояс GMT +3, время: 05:25.