Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Регулярное выражение (https://javascript.ru/forum/misc/50853-regulyarnoe-vyrazhenie.html)

Ant_Jhon 14.10.2014 17:54

Регулярное выражение
 
Требуется помощь в составлении регулярного выражение, которое бы проверяло на соответствие числам формата 11.22 (количество цифр до и после точки не имеет значения) и пустая строка так же подходит

Ant_Jhon 14.10.2014 17:55

написал такую строку, не пашет.
var pattern = /[0-9]|^$|\0/;

ruslan_mart 14.10.2014 17:57

var number = '11.22';
alert(/^\d+\.\d+$/.test(number));

Ant_Jhon 14.10.2014 18:00

не совсем то что я имел ввиду.. в шаблон должны входить цифры, точка, и пустая строка. моя вина, извиняюсь за неточность

Ant_Jhon 14.10.2014 18:04

да и еще одно уточнение, пустая строка подходит, 1234 (строка из просто цифр) подходит, 1234.12 (строка из целой и дробной части) тоже подходит

danik.js 14.10.2014 18:07

А .12 подходит? То есть без целой части?

terminator-101 14.10.2014 18:07

s="abc1.10\n\nab10.90f 20c"
re=/\d+\.?\d+|^$/gm
s.match(re)
// [ '1.10', '', '10.90', '20' ]

Ant_Jhon 14.10.2014 18:07

Проще наверно будет описать задачу:) есть несколько полей, поля соответствуют сумме покупки. есть кнопка сохранить. при нажатии на сохранить проверяем значения полей, при этом можем сохранить если ничего не ввели в поля, а так же если ввели целое 1234 или дробное 1234.56 числа

ruslan_mart 14.10.2014 18:08

var number = '11.22';
if(number == '' || (!isNaN(+number) && typeof +number == 'number')) alert('Это число!');


Можно через if. :)

Ant_Jhon 14.10.2014 18:10

danik.js, без целой части не подходит, те подходит 0.12 но не .12
terminator-101, а какая смысловая нагрузка в gm ?


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