Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.07.2016, 12:33
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Чего не нравится браузеру в этой реге?
Паттерны используются скриптом, но бразуер засирает консоль воплями подобного рода

Цитата:
Невозможно проверить <input pattern='^[-+]?[0-9\s]+(\,[0-9]{0,0})?$'>, потому что pattern не является корректным regexp: invalid identity escape in regular expression

Вопрос, чего ему не нравится в реге

^[-+]?[0-9\s]+(\,[0-9]{0,0})?$

?

И второй, если я сделаю как ему нравится, такая рега будет нормально работать в js и php?
Ответить с цитированием
  #2 (permalink)  
Старый 08.07.2016, 12:46
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

запятую не надо эскейпить

да и {0,0} непонятно что. [0-9]{0,0} - "взять цифру ноль раз" - наверно, это можно выкинуть из регекса
Ответить с цитированием
  #3 (permalink)  
Старый 08.07.2016, 18:58
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Да я в регах полный нуль, то есть 0.0. Поэтому мне как говорят, я так и делаю. Реги все натырены в том числе на сайте паттернов для хтмл5. Ну так если я выкину это лишнее экранирование, все будет работать как и прежде?

Насколько я помню, эта рега для чисел от -0.0 до +0.0 или с запятой.
Ответить с цитированием
  #4 (permalink)  
Старый 09.07.2016, 06:50
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
Ну так если я выкину это лишнее экранирование, все будет работать как и прежде?
Вот взял бы да и проверил.
Вообще-то должно работать, да.

Цитата:
сделаю как ему нравится, такая рега будет нормально работать в js
Да.
Ответить с цитированием
  #5 (permalink)  
Старый 11.07.2016, 05:03
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Полез править и вспомнил, почему запятая экранирована. Там просто один на все нумеры метод, и вместо запятой, может быть точка, которая имеет особое значение в регах.

$dec=$data['decimals'];
'pattern'=>'^[-+]?[0-9\s]+(\\'.NUM_DEC_MARK.'[0-9]{0,'.$dec.'})?$',



То есть NUM_DEC_MARK может быть запятой, точкой и чем угодно, а $dec может быть от 0 до 9 скажем (надо смотреть ману по mySQL), то есть в decimals лежит количество знаков за запятой числа. Для целых там 0, поэтому получается {0,0}

Помогите, сами мы не местные, как нарисовать правильный паттерн для проверки всех чисел от целых до плавающих со знаком и разделителем запятой или точкой так, чтобы бразуер был щаслив.
Ответить с цитированием
  #6 (permalink)  
Старый 12.07.2016, 06:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

warren buffet,
может чем поможет ...
<input pattern='^\s*([-+]*[0-9]*(?:[.,][0-9]+)?)\s*$' >
Ответить с цитированием
  #7 (permalink)  
Старый 12.07.2016, 18:23
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Это значит оно пропустит и точку и запятую? Так нельзя. Там преобразование в число и обратно использует ту же глобальную дефайну.

Заодно, какого он пишет:

Цитата:
Полноэкранное API с префиксом является устаревшим. Пожалуйста, используйте для полноэкранного режима API без префикса. Для получения дополнительной помощи обратитесь к https://developer.mozilla.org/en-US/...Fullscreen_API
Если по указанному адресу голимые префиксы?
Ответить с цитированием
  #8 (permalink)  
Старый 12.07.2016, 19:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от warren buffet
Это значит оно пропустит и точку и запятую?
выбор за вами
Ответить с цитированием
  #9 (permalink)  
Старый 12.07.2016, 20:40
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
Если по указанному адресу голимые префиксы?
Ты на русский язык не переключил случайно? Там устаревший гайд. Причем еще и непереведен, аха.
В адресной строке должно быть en-US, а не ru.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск