Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Recuperare ultimo valore di una stringa .......

    Ciao.
    Ho una stringa del genere
    delete-post-numero dove
    numero può avere un range
    da 1 a 9999999999 per recuperare
    numero ho questo codice:

    Codice PHP:
    //Esempio
    var _aNamedelete-post-1253;
    alert(_aName.substring(_aName.lastIndexOf('-')+1)); 
    Non mi convince + di tanto
    suggerimenti ?


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    quello che non ti convince e' controllare il numero di cifre che compone la parte numerica?
    regexp

    per il resto se ripetessi l' operazione una caterva di volte varrebbe la pena di confrontare la rapidita' delle alternative, ma cosi' non sembra serva

  3. #3
    Se non occorrono regexp io splitterei:

    codice:
     numero=_aName.split("-")[2];
    dA .. foto di viaggio
    L'esperienza è il tipo di insegnante più difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  4. #4
    Con la regex invece sarebbe così:
    codice:
    num=_aName.match(/\-([0-9]+)$/)[1];
    ma se la stringa avrà sempre la conformazione delete-post-numero è meglio la solzuzione di anakin.


  5. #5
    Troppo buoni
    molte grazie.

    Se volessi fare (sto diventando un poco
    paranoico ) fare un controllo sul numero
    una cosa del genere per capirsi

    Codice PHP:
    var num=_aName.match(/\-([0-9]+){1,10}$/)[1]; 
    lo azzeccata ?

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  6. #6
    Originariamente inviato da whisher
    Troppo buoni
    molte grazie.

    Se volessi fare (sto diventando un poco
    paranoico ) fare un controllo sul numero
    una cosa del genere per capirsi

    Codice PHP:
    var num=_aName.match(/\-([0-9]+){1,10}$/)[1]; 
    lo azzeccata ?

    Quasi
    codice:
    var num= _aName.match(/-([0-9]{1,10})$/)[1];
    Cmq se ti posso dare un consiglio leggiti questa guida : http://developer.mozilla.org/en/docs...ar_Expressions

    è l'unica guida sulle regex che mi ha soddisfatto pienamente

  7. #7
    Thanks ti ringrazio del link
    l'ho letto un po di volte con risultati
    alterni

    Problemino:

    var _aName= 'delete-post-0';
    var num= _aName.match(/-([0-9]){1,10}$/)[1];
    alert(num);

    Se volessi escludere lo zero ?

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  8. #8
    Escludere lo 0 in che senso? Vuoi ottenere la string delete-post o vuoi prendere solo i numeri da 1 a 9?

    Nel primo caso fai così:
    codice:
    var num= _aName.match(/([^\-]+?\-[^\-]+?)\-/)[1];
    (Se vuoi ottenere anche l'ultimo trattino caccia le parentesi tonde)

    Nel secondo caso invece così:
    var num= _aName.match(/-([1-9]){1,10}$/)[1];

  9. #9
    Mi sono espresso male

    var num= _aName.match(/-([0-9]{1,10})$/)[1];


    questa ritorna 0 anche con delete-post-0

    mentre se si potesse escludere anche questa
    possibilità


    naturalmente questa deve ritornare 100


    delete-post-100





    Ps.
    Grazie della pazienza.
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  10. #10
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ma anche 009 non dovrebbe matchare, giusto?
    var num= _aName.match(/-([1-9]{1}[0-9]{0,9})$/)[1];
    1 numero compreso tra 1 e 9
    seguito da 0 fino a 9 numeri compresi tra 0 e 9

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.