Mam ciąg w javascript, taki jak `# box2 'i po prostu chcę od niego„ 2 ”.
Wypróbowany:
var thestring = $(this).attr('href');
var thenum = thestring.replace( /(^.+)(\w\d+\w)(.+$)/i,'$2');
alert(thenum);
Nadal zwraca ostrzeżenie # box2, jak mogę go uruchomić?
Musi pomieścić dowolną liczbę długości dołączoną na końcu.
javascript
string
numbers
użytkownik1022585
źródło
źródło
Odpowiedzi:
W tym konkretnym przykładzie
w ogólnym przypadku:
Ponieważ z jakiegoś powodu ta odpowiedź zyskała popularność, oto bonus: generator wyrażeń regularnych.
źródło
"#box2_col3".replace( /^\D+/g, '')
powinienem pokazać2
, a nie2_col3
.#box2_col3
pytania.#box2_col3
. Ale zobacz wyrażenia regularne używane (\w)(.+$)
), które wyraźnie wskazują, że po numerze są inne znaki.replace
pracować z wiodącymi liczbami, używająctheString.replace(/^.*\D+/g, '');
:, ale rozwiązanie shiplu.mokadd.im jest lepsze.Powinieneś spróbować następujących rzeczy:
wynik
źródło
parseInt(txt.match(/\d/g).join(''), 10)
" $ 20.0 ".match(/\d/g).join('')
=> „200” (tylko mówię)Myślę, że to wyrażenie regularne spełni twoje zadanie:
Gdzie
txt
jest twój sznurek?Zasadniczo zrywa wszystko, co nie jest cyfrą.
Myślę, że możesz osiągnąć to samo, używając tego również:
źródło
/[^0-9]/g
+1 za czytelność. Używane również z większością odpowiedzi tutaj: stackoverflow.com/q/1862130/1066234Spróbuj wykonać następujące czynności:
string.replace(/[^0-9]/g, '');
Spowoduje to usunięcie wszystkich znaków innych niż cyfry, pozostawiając tylko cyfry w ciąguźródło
/[^0-9]/g
można zastąpić/[^\d]/g
.Korzystanie z funkcji dopasowania.
jsfiddle
źródło
Wypróbowałem wszystkie kombinacje cytowane powyżej z tym kodem i sprawiłem, że działał, jako jedyny działał na tym ciągu ->
(12) 3456-7890
Wynik:
"1234567890"
Obs: Wiem, że taki ciąg nie będzie na attr, ale cokolwiek, rozwiązanie jest lepsze, ponieważ jest bardziej kompletne.
źródło
str.match(/\d+/g).map(Number)
że zwróci tablicęA to jest fragment kodu, który wyodrębnia ceny z walutą i formatowaniem:
źródło
możesz użyć świetnej metody analizy
przekonwertuje cyfry wiodące na liczbę
źródło
W przypadku takiego ciągu jak
#box2
to powinno działać:jsFiddle:
źródło
Możesz użyć wyrażenia regularnego.
Zaalarmuje to 2.
źródło
W wyrażeniach regularnych , jak uzyskać liczby z ciągu znaków, na przykład:
wynikiem
myString
jest „24
”przykład tego działającego kodu można zobaczyć tutaj: http://ideone.com/iOCf5G
źródło
Możesz użyć Underscore String Library w następujący sposób
wynikiem będzie: 1
Patrz: https://github.com/epeli/underscore.string
DEMO:
http://jsfiddle.net/abdennour/Vyqtt/
Kod HTML:
Kod JS:
jeśli masz przyrostek w następujący sposób:
Możesz użyć następnej wersji demo:
http://jsfiddle.net/abdennour/Vyqtt/1/
źródło
Oto solt. to sprawdza brak danych
źródło
Użyj tego kodu jednowierszowego, aby uzyskać pierwszą liczbę w ciągu bez popełniania błędów:
źródło
proszę sprawdzić poniżej JavaScript, tam można uzyskać tylko numer
wynik :
1234567789
źródło
Możesz wyodrębnić liczby z łańcucha przy użyciu wyrażenia regularnego:
wyjście: 25933473
źródło
źródło
Ta odpowiedź obejmie większość scenariusza. Mogę przezwyciężyć tę sytuację, gdy użytkownik próbuje skopiować i wkleić numer telefonu
Wyjaśnienie:
join przekształci i połączy te dane tablicy w pojedynczy ciąg
źródło
}
Możesz to zrobić w ten sposób, a następnie wywołać funkcję tam, gdzie potrzebujesz, z parametrem.
źródło
Możesz wykonać taką funkcję
źródło