2013-12-11 3 views
-5

У меня есть переменная javascript ($ -100). Мне нужно -100 от него. Я попробовал value.replace (/ (?!^-) [^ 0-9.]/G, ''), но он берет только 100 из моей строки, не принимает -100.Пожалуйста, предложитеJavascript regex для отрицательного числа

+0

Немного справки: http://stackoverflow.com/a/20529464/1636522: D – leaf

ответ

0

очень наивным, быстрый и грязный, чтобы сделать value.match(/([-]?\d+)/)[1]

Количество форматирования и синтаксического анализа является сложной задачей, и в зависимости от валюты, сепараторы, интернационализация это может быть довольно сложно сделать.

Обратите внимание, например, на accounting.js.

+0

Спасибо .Это работал. – user3092654

+0

Как я уже сказал, это очень упрощенный подход. Убедитесь, что вы точно знаете, что вам нужно. Он не будет работать для таких вариаций, как «$ -1,000» или «$ -1,204.45». –

0

Попробуйте Number(value.replace(/^\$/g, '')) где значение это строка "$-100"

+1

впадина работа для меня – user3092654

0

Как насчет '$-100'.slice(1) или '$-100'.substr(1)?

Регулярное выражение закручивается, /(?!^-)[^0-9.]/g:

(?!^-) not followed by the beginning of the string + "-" 

Ничто не может следовать в начале строки, то это должно быть всегда верно: D

[^0-9.] not a digit nor a dot 

Заменяет как $ и -. В конце концов:

'$-100'.replace(/(?!^-)[^0-9.]/g, ''); // "100" 
Смежные вопросы