Suggerisci soluzione per rimuovere o troncare gli zeri iniziali dal numero (qualsiasi stringa) da javascript, jquery.Rimuovi/tronca gli zeri iniziali di javascript/jquery
risposta
È possibile usare un'espressione regolare che corrisponde zeri all'inizio della stringa:
s = s.replace(/^0+/, '');
@SomnathMuluk: sarà una sorpresa per molti programmatori javascript! – Bert
@Guffa: lo sto usando nel codice jQuery. Forse perché potrebbe non funzionare. –
@Somnath, jQuery IS javascript. Se qualcosa funziona in javascript continuerà a funzionare anche se ti capita di usare jQuery. –
Prova questa,
function ltrim(str, chars) {
chars = chars || "\\s";
return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
var str =ltrim("01545878","0");
Più here
sta avendo problemi con il valore stringa dato –
@SomnathMuluk: quale problema. ecco l'esempio funzionante http://jsfiddle.net/AxeUU/ – Gowri
Dal momento che lei ha detto "qualsiasi stringa" , Suppongo che questa sia una stringa che vuoi gestire anche tu.
"00012 34 0000432 0035"
Quindi, regex è la strada da percorrere:
var trimmed = s.replace(/\b0+/g, "");
e questo sarà prevenire la perdita di un valore "000000".
var trimmed = s.replace(/\b(0(?!\b))+/g, "")
Si può vedere un working example here
+1, ottima risposta –
ho ottenuto questa soluzione per troncare zeri iniziali (numero o qualsiasi stringa) in JavaScript:
<script language="JavaScript" type="text/javascript">
<!--
function trimNumber(s) {
while (s.substr(0,1) == '0' && s.length>1) { s = s.substr(1,9999); }
return s;
}
var s1 = '00123';
var s2 = '000assa';
var s3 = 'assa34300';
var s4 = 'ssa';
var s5 = '121212000';
alert(s1 + '=' + trimNumber(s1));
alert(s2 + '=' + trimNumber(s2));
alert(s3 + '=' + trimNumber(s3));
alert(s4 + '=' + trimNumber(s4));
alert(s5 + '=' + trimNumber(s5));
// end hiding contents -->
</script>
Questo non è un codice molto buono. Il controllo della lunghezza della stringa è totalmente superfluo, non verrà mai valutato come 'false'. L'uso di '9999' come secondo parametro di' substr' non è necessario. Basta usare 'while (s.substr (0,1) == '0') s = s.substr (1);'. Inoltre, lo snippet di codice sembra davvero vecchio, l'attributo 'language' del tag' script' è stato deprecato per molto tempo, e l'uso dei commenti nei tag 'script' è necessario solo per i browser che non capiscono lo' script' tag affatto, ad es Internet Explorer 1.0. – Guffa
Sta funzionando bene per me .... – Avinash
È consigliabile utilizzare il parametro "radix" del Funzione "parseInt": https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects%2FparseInt
parseInt ('015', 10) => 15
se non ne fanno uso, un po 'di motore JavaScript potrebbe usarlo come un ottale parseInt ('015') => 0
Forse un po' tardi, ma voglio aggiungere i miei 2 centesimi.
se la stringa SEMPRE rappresenta un numero, con possibili zeri iniziali, è sufficiente eseguire il cast della stringa su un numero utilizzando l'operatore '+'.
ad es.
x= "00005";
alert(typeof x); //"string"
alert(x);// "00005"
x = +x ; //or x= +"00005"; //do NOT confuse with x+=x, which will only concatenate the value
alert(typeof x); //number , voila!
alert(x); // 5 (as number)
se la stringa non rappresenta un numero e avete solo bisogno di rimuovere l'uso del 0 del le altre soluzioni, ma se avete solo bisogno di loro come numero, questo è la via più breve.
e FYI si può fare il contrario, i numeri di forza di agire come stringhe se concatenare una stringa vuota per loro, come:
x = 5;
alert(typeof x); //number
x = x+"";
alert(typeof x); //string
Speranza che aiuta qualcuno
Vorrei utilizzare il numero () funzione:
var yourString = "00001";
yourString = Number(yourString).toString();
non funzionerà con un valore maggiore di 2^53. Numero ("009007199254740993"). ToString() sarà "9007199254740992" – madreason
risposta perfetta !!! prova ad aggiungere qualche altra spiegazione :) – SagarPPanchal
parseInt(value) or parseFloat(value)
Questo funziona bene.
Se numero è int uso
"" + parseInt(str)
Se il numero è l'uso del galleggiante
"" + parseFloat(str)
Un altro modo senza espressione regolare:
function trimLeadingZerosSubstr(str) {
var xLastChr = str.length - 1, xChrIdx = 0;
while (str[xChrIdx] === "0" && xChrIdx < xLastChr) {
xChrIdx++;
}
return xChrIdx > 0 ? str.substr(xChrIdx) : str;
}
Con breve stringa che sarà più veloce di regex (jsperf)
- 1. int.Parse() con gli zeri iniziali
- 2. NSString rimuovendo gli zeri iniziali?
- 3. Contare gli zeri iniziali in una Int32
- 4. Utilizzo di espressioni regolari per aggiungere gli zeri iniziali
- 5. Come aggiungere gli zeri iniziali per il ciclo in shell?
- 6. Converti int in esadecimale con gli zeri iniziali
- 7. In VHDL ..... come contare gli zeri iniziali del vettore?
- 8. Rimuovere gli zeri iniziali da una data abbreviata con PHP
- 9. Pandas csv-import: mantenere gli zeri iniziali in una colonna
- 10. Converti in binario e mantiene gli zeri iniziali in Python
- 11. Java aggiunge gli zeri iniziali a un numero
- 12. Come posso visualizzare il tempo con gli zeri iniziali?
- 13. Come incrementare un valore con zeri iniziali?
- 14. Espressione regolare per numeri senza zeri iniziali
- 15. zeri iniziali e finali da una stringa
- 16. data PHP(): minuti senza zeri iniziali
- 17. come concatenare zeri iniziali in excel
- 18. zeri iniziali per galleggiare nelle Swift
- 19. Mese senza zeri iniziali in Android
- 20. R: Rimuovere gli zeri iniziali dall'inizio di una stringa di caratteri
- 21. Aggiunta di zeri iniziali a un nome file utilizzando PowerShell
- 22. comando bash per rimuovere gli zeri iniziali da tutti i nomi di file
- 23. Stampa gli zeri iniziali con l'operatore di output C++ (equivalente a printf)?
- 24. Come evitare che vengano eliminati gli zeri iniziali durante l'importazione di un documento Excel utilizzando C#
- 25. Come ordinare i numeri con zeri iniziali in Java?
- 26. Come posso produrre degli zeri iniziali in Ruby?
- 27. SQL Server Testo completo non prendendo in considerazione Zeri iniziali
- 28. Come posso aggiungere degli zeri iniziali alle date in Oracle?
- 29. Perché gli zeri iniziali vengono utilizzati per rappresentare i numeri ottali?
- 30. Come rimuovere gli zeri iniziali e finali in una stringa? Pitone
cosa dovrebbe succedere quando la stringa è "000000000" – robert
Il numero dovrebbe essere sempre un numero intero, oppure dovrebbe gestire numeri con decimali (ad es. ' '00000.5'')? – CMS
dovrebbe dare lavoro a qualsiasi stringa data. Ad esempio "00000evsdd" dovrebbe dare "evsdd", "00000.5" dovrebbe dare ".5" –