Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #61 (permalink)  
Старый 15.10.2014, 17:47
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от terminator-101
 
Регистрация: 14.10.2014
Сообщений: 117

danik.js,
Но это, вообще то не проблема, можно просто регуляркой лишнее обрезать, да и все. Да, на первый взгляд подходит это решение, вроде.
Ответить с цитированием
  #62 (permalink)  
Старый 15.10.2014, 18:06
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от terminator-101
 
Регистрация: 14.10.2014
Сообщений: 117

Ant_Jhon,
В твоем случае, если с регуляркой, напрашивается что-то вроде такого
test=function(input){
var re=/(\d+)?\.?\d+\.?|^$/
var s=input.match(re)
if(s){if(s[0]===input){...}}
}

в s[0] вернется паттерн, например, из foo10bar вернется 10, затем сравнивается с исходной строкой, действие наступает, только если совпало, например, 10 пройдет, а 10а -- нет. Глобальный и многострочный поиски тогда не нужны, никто в инпуте не будет с этим извращаться специально, если юзер нажимает энтер или таб, он выскакивает обычно из поля ввода, аоэтому нам нужно тут только первое введенное, более ничего, иначе все чертовски усложняется.

Последний раз редактировалось terminator-101, 15.10.2014 в 18:49.
Ответить с цитированием
  #63 (permalink)  
Старый 15.10.2014, 18:09
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от terminator-101
Справа да, а если в середине?
Это как? Не заметить сложно.
Или типа нормализовать число, введенное в свободном формате, типа 10 000? Ну тогда и запятые надо в точки трансформировать, и мож еще чего.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #64 (permalink)  
Старый 15.10.2014, 18:16
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от terminator-101
 
Регистрация: 14.10.2014
Сообщений: 117

Ant_Jhon,

Вот, проверил, вроде то что тебе надо, если нет, попробуем скорректировать, если чо.

test=function(input){
var re=/(\d+)?\.?\d+\.?|^$/
var s=input.match(re)
if(s) console.log(s[0]===input)
}

test(".1f") // false
test("111") // true
test("a23") // false
test("") // true
test("10.") // true
test("1a1") // false
test(".10") // true

Только с пустым пробелом то че делать? Приравнивать его к пустой строке или нет?

Последний раз редактировалось terminator-101, 15.10.2014 в 18:21.
Ответить с цитированием
  #65 (permalink)  
Старый 15.10.2014, 18:18
Интересующийся
Отправить личное сообщение для Ant_Jhon Посмотреть профиль Найти все сообщения от Ant_Jhon
 
Регистрация: 14.10.2014
Сообщений: 22

вощем изнан збс работает, тут паттерны не нужны. сори за шумиху сдела изнаном и забыл
Ответить с цитированием
  #66 (permalink)  
Старый 15.10.2014, 18:21
Интересующийся
Отправить личное сообщение для Ant_Jhon Посмотреть профиль Найти все сообщения от Ant_Jhon
 
Регистрация: 14.10.2014
Сообщений: 22

Пробелы можно приравнять к пустой строке, мне кажется
Ответить с цитированием
  #67 (permalink)  
Старый 15.10.2014, 18:22
Интересующийся
Отправить личное сообщение для Ant_Jhon Посмотреть профиль Найти все сообщения от Ant_Jhon
 
Регистрация: 14.10.2014
Сообщений: 22

Терминатор, попробую протестить щас скорректированный паттерн, тот не работал
Ответить с цитированием
  #68 (permalink)  
Старый 15.10.2014, 18:26
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от terminator-101
 
Регистрация: 14.10.2014
Сообщений: 117

Сообщение от danik.js
запятые надо в точки трансформировать, и мож еще чего
Кстати, да, если простой юзер вводит, нужно, иначе не юзабельно. Русский чел привык запятыми разделять.
Ответить с цитированием
  #69 (permalink)  
Старый 15.10.2014, 18:33
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от terminator-101
 
Регистрация: 14.10.2014
Сообщений: 117

Сообщение от Ant_Jhon
Пробелы можно приравнять к пустой строке, мне кажется
Тогда вот такую регулярку попробуй
var re=/(\d+)?\.?\d+\.?|^(\s+)?$/
А что насчет запятых вместо точек в качестве разделителей?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярное выражение и метод test tsigel Общие вопросы Javascript 3 30.08.2013 13:47
регулярное выражение literator Ваши сайты и скрипты 1 18.08.2013 18:24
Помогите написать регулярное выражение! Dorian_bs Общие вопросы Javascript 7 09.12.2011 09:12
Регулярное выражение: любой символ, включая перевод строки Gleb Общие вопросы Javascript 3 28.07.2011 12:15
регулярное выражение theo_ Общие вопросы Javascript 15 21.06.2010 10:29