используя регулярное выражение для переменной? - PullRequest
1 голос
/ 19 июня 2011

Скажем, у меня есть это например:

$(function() {

    var seconds = 142.097019375;

    seconds = seconds.replace(/\.[0-9]*/, '');

    alert(seconds); 

});

Это не сработает, но если бы секунды были $('.seconds').html();, это заменило бы его, есть ли возможность выполнить регулярное выражение для переменной jquery как таковой.

Ответы [ 6 ]

6 голосов
/ 19 июня 2011

Если ваша переменная является числом, и вы действительно пытаетесь извлечь только целую часть, тогда вы захотите использовать Math.floor или Math.ceil:

var int_part = seconds > 0 ? Math.floor(seconds) : Math.ceil(seconds);
3 голосов
/ 19 июня 2011

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

Использование parseInt () , например:

parseInt(seconds, 10);

Смотри, что он делает то же самое - http://jsfiddle.net/bzAGe/

3 голосов
/ 19 июня 2011

Вы не можете вызывать String методы (в частности, replace) на Number с. Попробуйте сначала преобразовать Number в String:

seconds = (seconds + "").replace(/\.[0-9]*/, '');
2 голосов
/ 19 июня 2011

Это не работает, потому что объект Number не имеет функции .replace.

Использование seconds = seconds.toString().replace(/\.[0-9]*/, '');

1 голос
/ 19 июня 2011

Вы хотите получить целую часть этой переменной? Использовать Math.floor . Есть другой метод, который вы можете захотеть узнать, посмотрите ссылку на объект Math .

Определение и использование

Метод floor () округляет число DOWNWARDS до ближайшего целого числа и возвращает результат.

Синтаксис

Math.floor(x)

Parameter     Description
x             Required. A number

Использование регулярных выражений

replace - это метод String, вы можете преобразовать его в строку перед выполнением замены

(seconds.toString()).replace()

или объявить секунды в виде строки

var seconds = "value";

Объект Javascript String

  • replace () Поиск соответствия между подстрокой (или регулярным выражением) и строкой и замена соответствующей подстроки новой подстрокой

Синтаксис

string.replace(regexp/substr,newstring)

Parameter         Description
regexp/substr     Required. A substring or a regular expression.
newstring         Required. The string to replace the found value in parameter 1
1 голос
/ 19 июня 2011

Сначала вставьте строку:

$(function() {

    var seconds = "" + 142.097019375;

    seconds = seconds.replace(/\.[0-9]*/, '');

    alert(seconds); 

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...