Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.10.2010, 12:12
Аспирант
Отправить личное сообщение для Johny Посмотреть профиль Найти все сообщения от Johny
 
Регистрация: 20.08.2010
Сообщений: 54

3 строки кода
Всем доброго дня. Есть код:
function str_rep(value){ return value.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ') ;}
var str = str_rep($('.qwe').val() * $('#fgh').val() / 100);
alert(str);
Но он не хочет работать.Подскажите, пожалуйста, почему?
Ответить с цитированием
  #2 (permalink)  
Старый 08.10.2010, 12:40
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Цитата:
[^\d]
Внутри квадратных скобок нельзя использовать такие мета-символы.

Пишите [^0-9] или \D.
Ответить с цитированием
  #3 (permalink)  
Старый 08.10.2010, 12:50
Аспирант
Отправить личное сообщение для Johny Посмотреть профиль Найти все сообщения от Johny
 
Регистрация: 20.08.2010
Сообщений: 54

Попробовал, но firebug всёравно выдает
TypeError: value.replace is not a function { message="value.replace is not a function"...
Но если написать var str = str_rep($('.qwe').val());
то cкрипт отрабатывает нормально...Приведения типов уже пробовал.
Ответить с цитированием
  #4 (permalink)  
Старый 08.10.2010, 12:54
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от exec
Внутри квадратных скобок нельзя использовать такие мета-символы.
Можно.

Сообщение от Johny
TypeError: value.replace is not a function { message="value.replace is not a function"...
Потому что у чисел нет метода replace.
Ответить с цитированием
  #5 (permalink)  
Старый 08.10.2010, 13:03
Аспирант
Отправить личное сообщение для Johny Посмотреть профиль Найти все сообщения от Johny
 
Регистрация: 20.08.2010
Сообщений: 54

Сообщение от Kolyaj Посмотреть сообщение
Потому что у чисел нет метода replace.
Спасибо, помогло. Думаю, новичкам, к которым я сам отношусь, будет интересно:
function str_rep(value){ return value.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ') ;}
var amount = str_rep($('.qwe').val() * $('#asd').val() / 100 + "");
alert(amount);

Последний раз редактировалось Johny, 08.10.2010 в 13:18.
Ответить с цитированием
  #6 (permalink)  
Старый 08.10.2010, 14:18
Аспирант
Отправить личное сообщение для MikhailGirshberg Посмотреть профиль Найти все сообщения от MikhailGirshberg
 
Регистрация: 27.07.2010
Сообщений: 72

полезный ресурс:
использую)
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт вставки BB кода petr0007 Internet Explorer 2 20.02.2013 01:02
2-е бегущие строки на одной странице DjTarik Общие вопросы Javascript 3 27.09.2010 16:30
Отфильтровать строки в таблице по заданным критериям Hag1989 Общие вопросы Javascript 0 03.12.2009 02:06
Для события onCLick получить индекс строки и объект грида. progi2007 ExtJS 4 05.08.2009 11:31
Последовательное выполнение кода avtor01 AJAX и COMET 6 29.10.2008 19:06