Мой текст:JQuery находят целое внутри строки
var str = 'Cost USD 400.00';
Как я использую JQuery, чтобы найти номер только в том, что ул?
Мой текст:JQuery находят целое внутри строки
var str = 'Cost USD 400.00';
Как я использую JQuery, чтобы найти номер только в том, что ул?
Возможно, вам не следует использовать JQuery; вы должны использовать встроенную поддержку регулярных выражений Javascript. В этом случае регулярное выражение может выглядеть следующим образом:
var result = /\d+(?:\.\d+)?/.exec(mystring);
Официальная ссылка на это на https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/RegExp.
, вы можете захотеть следовать этому, чтобы parseFloat() превратился в число – second
. Ваше решение не работает: http://jsfiddle.net/3LmHH/ – user113716
Изменить« \\ "to" \ ". Но он возвращает любое число, а не целое число. Это действительно то, чего хочет OP? – BrunoLM
Просто найдите номер, используя обычный объект RegEx в javascript. Здесь нет необходимости в jquery.
например:
var str = new RegExp("\\d+(?:\\.\\d+)");
var num = str.exec("Cost USD 400.00");
Метод «test» вернет true, если есть число, но на самом деле не даст вам номер обратно. Кроме того, вы не получите «.00» из этого регулярного выражения. – Reinderien
Я небрежно понял, что я отправил метод start вместо .exec, поэтому я изменил его. Что касается регулярного выражения, я хотел бы добавить к вашему ответу (@Reinderien) и просто хотел дать damien код, который он мог бы использовать, потому что кажется, что он не знает, как это сделать, и это было до того, как вы отредактировали свой ответ. – gillyb
Что gillyb сказал, но я бы просто добавить:
var str=new RegExp("\\d+\.?\d+?");
Чтобы подобрать что-нибудь после десятичной точки.
выше RegEx должен соответствовать
400,01
400,0
400,001
Я часто использую http://xenon.stanford.edu/~xusch/regexp/analyzer.html при построении регулярных выражений ... но вы также можете найти эту один очень полезный http://www.regular-expressions.info/javascriptexample.html
, если вы поместите регулярное выражение в строку 1, строку, в которой выполняется тестирование по строке 2, затем вы можете увидеть, что попадает в переменную с помощью кнопки SHOW MATCH.
Попробуйте с вариантами вышеуказанных номеров и посмотрите, что вернется.
Из этого примера вы ожидаете 'null'? Там нет целых чисел, просто 'float' – BrunoLM