Javascript.RU

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

Регулярное выражение: узнать количество цифр.
Как с помощью регулярных выражений можно узнать количество цифр в строке? Не могу разобраться.. Читал в учебнике, но там все не то
Ответить с цитированием
  #2 (permalink)  
Старый 28.02.2013, 15:15
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от foker
Как с помощью регулярных выражений можно узнать количество цифр в строке?
Как вариант...
- убрать все цифры
- взять разность длин оригинала и строки без цифр
Ответить с цитированием
  #3 (permalink)  
Старый 28.02.2013, 15:18
Новичок на форуме
Отправить личное сообщение для foker Посмотреть профиль Найти все сообщения от foker
 
Регистрация: 10.08.2012
Сообщений: 8

Хорошая идея))
А можно создать новую сроку без цифр с помощью регулярок? или как это сделать?
Ответить с цитированием
  #4 (permalink)  
Старый 28.02.2013, 15:37
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от foker
А можно создать новую сроку без цифр с помощью регулярок?
Именно с их помощью и делать.

Сообщение от foker
как это сделать?
Как вариант...

var str='sdf23kdgbjk231890njsfjk0-sdfasdjkldfs';
var i=str.length-str.replace(/\d/gm,'').length;
alert('Количество цифр в строке - '+i+'шт.');
Ответить с цитированием
  #5 (permalink)  
Старый 28.02.2013, 15:37
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

var s = "32hj478fh39djdhd938rrh34r";
var n = s.match( /\d/g );
n = n ? n = n.length : 0;
alert( n );
Ответить с цитированием
  #6 (permalink)  
Старый 28.02.2013, 15:42
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

ksa,
var str='sdf23kdgbjk231890njsfjk0-sdfasdjkldfs';
var i=str.replace(/\D+/g,'').length;
alert('Количество цифр в строке - '+i+'шт.');
Ответить с цитированием
  #7 (permalink)  
Старый 28.02.2013, 15:52
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

rgl, это лучше
Ответить с цитированием
  #8 (permalink)  
Старый 01.03.2013, 01:18
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

var str='sdf23kdgbjk231890njsfjk0-sdfasdjkldfs';
alert(str.split(/\d/).length-1)
Ответить с цитированием
  #9 (permalink)  
Старый 01.03.2013, 11:10
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

Deff,
Непереносимо. В IE 6 выдает 3 а не 9. Я понимаю что IE6 сейчас никто не пользуется, но все-таки лучше когда код работает везде одинаково.
Ответить с цитированием
  #10 (permalink)  
Старый 01.03.2013, 22:40
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

Сообщение от Deff Посмотреть сообщение
var str='sdf23kdgbjk231890njsfjk0-sdfasdjkldfs';
alert(str.split(/\d/).length-1)
Вот что говориться про split в книге "javascript: The Good Parts"

Сообщение от Douglas Crockford
There are some special cases to watch out for.
.....................
Some implementations suppress empty strings in the output array when the separator is a regular expression:

var f = '|a|b|c|'.split(/\|/);
// f is ['a', 'b', 'c'] on some systems, and
// f is ['', 'a', 'b', 'c', ''] on others

Последний раз редактировалось rgl, 02.03.2013 в 00:30.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите составить регулярное выражение для числа с плавающей точкой boomrest Общие вопросы Javascript 4 25.02.2015 11:17
Регулярное выражение alerzo Events/DOM/Window 1 17.09.2012 19:20
регулярное выражение martinss jQuery 5 29.07.2011 12:46
Регулярное выражение: любой символ, включая перевод строки Gleb Общие вопросы Javascript 3 28.07.2011 12:15
регулярное выражение theo_ Общие вопросы Javascript 15 21.06.2010 10:29