Se ho una stringa come "qualcosa12" o "qualcosa102", come dovrei usare una regex in javascript per restituire solo le parti del numero?Regex usando javascript per restituire solo i numeri
risposta
espressioni regolari:
var numberPattern = /\d+/g;
'something102asdfkj1948948'.match(numberPattern)
Questa restituirebbe un oggetto con due elementi interni, '102' e '1.948.948'. Operare come desideri. Se non corrisponde a nessuno, restituirà null.
Supponendo che non si tratti di decimali complessi, ciò dovrebbe essere sufficiente.
Immagino di voler ottenere il/i numero/i dalla stringa. In questo caso, è possibile utilizzare il seguente:
// Returns an array of numbers located in the string
function get_numbers(input) {
return input.match(/[0-9]+/g);
}
var first_test = get_numbers('something102');
var second_test = get_numbers('something102or12');
var third_test = get_numbers('no numbers here!');
alert(first_test); // [102]
alert(second_test); // [102,12]
alert(third_test); // null
Giusto per chiarire, 'get_numbers/1' restituisce una matrice di stringa, non numero. Per il vostro esempio, sarebbe tornato: * '[ "102"]' * '[ "102", "12"]' * nullo – sntran
si potrebbe anche togliere tutti i caratteri non numerici (\D
o [^0-9]
):
'abc123cdef4567hij89'.replace(/\D/g, '');
// returns '123456789'
Le risposte date in realtà non corrispondono alla tua domanda , che implicava un numero finale. Inoltre, ricorda che stai recuperando una stringa; se effettivamente bisogno un numero, il cast del risultato:
item=item.replace('^.*\D(\d*)$', '$1');
if (!/^\d+$/.test(item)) throw 'parse error: number not found';
item=Number(item);
Se hai a che fare con ID elemento numerico su una pagina web, il codice potrebbe anche accettare un utilmente Element
, estrarre il numero dalla sua id
(o il suo primo genitore con un id
); se hai un Event
a portata di mano, probabilmente puoi anche ottenere lo Element
.
var result = input.match(/\d+/g).join([])
se desideri solo cifre:
var value = '675-805-714';
var numberPattern = /\d+/g;
value = value.match(numberPattern).join([]);
alert(value);
//Show: 675805714
ora si ottiene le cifre unite
Per numero con frazione decimale e segno meno, io uso questo frammento:
var NUMERIC_REGEXP = /[-]{0,1}[\d]*[\.]{0,1}[\d]+/g;
'2.2px 3.1px 4px -7.6px obj.key'.match(NUMERIC_REGEXP)
// return ["2.2", "3.1", "4", "-7.6"]
Aggiornamento:
Ho trovato uno strumento che consente di modificare visivamente le espressioni regolari: JavaScript Regular Expression Parser & Visualizer.
Aggiornamento:
Ecco un altro con il quale si può anche debugger regexp: Online regex tester and debugger.
Aggiornamento:
Un altro: Regexpal.
perfetta, unica soluzione che funziona con decimali e nums negativi – ArmaGeddON
Grazie, @ ArmaGeddON, spero che possa aiutare più persone. –
sembra che questo corrisponderà anche a cose come 0.0.0. Prova a spostare il. fuori dalla parentesi come questa [-] {0,1} [\ d] * [\.] {0,1} [\ d] + – Makolyte
- 1. Regex per rimuovere gli spazi tra i numeri solo
- 2. RegEx per la convalida JavaScript di numeri separati da virgola
- 3. Regex per consentire numeri e un solo trattino nel mezzo
- 4. Javascript non dividerà usando regex
- 5. Regex per numero minimo di 9 numeri
- 6. Javascript Regexp non restituire i risultati globali
- 7. Regex per abbinare tutti i caratteri eccetto lettere e numeri
- 8. Regex in Javascript per rimuovere i collegamenti
- 9. RegEx per i prezzi?
- 10. Regex per trovare i numeri in una stringa
- 11. Genera numeri di pagina usando javascript/jquery?
- 12. Regex per numeri limitati, trattini medi illimitati?
- 13. javascript regex: solo lettere inglesi consentite
- 14. regex Javascript si blocca (usando v8)
- 15. Java regex per rimuovere tutti i numeri finali?
- 16. Sostituzioni multiple di numeri nella stringa usando regex python
- 17. Javascript regex per accettare solo lettere, spazi e ñ
- 18. espressione regolare javascript, consentire solo numeri e virgole
- 19. Notepad ++ regex per trovare 3 numeri consecutivi
- 20. Descrizione per restituire solo ClassName?
- 21. JavaScript regex e parseInt
- 22. Regex solo permetterà alfanumerico
- 23. Perché questa regex non funziona con i numeri arabi orientali?
- 24. numeri non consentiti (0-9) - Espressione Regex in javascript
- 25. RegEx: come posso abbinare tutti i numeri maggiori di 49?
- 26. Regex per la validazione alfabetici e numeri nella stringa localizzata
- 27. javascript regex che ottiene tutti i sottodomini
- 28. Numeri separati da virgola Regex
- 29. numero di regex I numeri di C# sono underscore ora
- 30. Javascript/Regex per trovare solo il nome del dominio radice senza sottodomini
err. odio essere pignolo, ma questo restituisce un array, non un oggetto (almeno in chrome). – Maus
Tuttavia, tutti gli array sono oggetti, no? –
come su 'parseInt (stringa);' –