Visualizzazione risultati 1 fino 4 di 4

Discussione: [js]RegExp

  1. #1
    Guest

    Predefinito [js]RegExp

    Ciao a tutti, qualcuno mi sa spiegare cosa fa di preciso questa porzione di codice
    che tipo di controlli fa sul testo inviato...
    Codice PHP:
    function CtlJs(data){
    var
    re = new RegExp("^[\\s]*", "g");
    data = data.replace(re, '');
    var
    re = new RegExp("[\\s]*$", "g");
    data = data.replace(re, '');
    return
    data;
    }
    Un saluto e buone feste!

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Rimuove gli spazi all'inizio e alla fine di una stringa.
    Si comporta analogamente alla funzione trim di php.

    Tuttavia, io l'avrei scritta più semplicemente così:
    Codice:
    function CtlJS(str) {
        return str && str.replace(/^\s+|\s+$/g, "");
    }

  3. #3
    Guest

    Predefinito

    Ti ringrazio il migliore come sempre... ;)
    p.s.
    Mi postresti spiegare perchè fai cosi
    Codice PHP:
    return str && str.replace(/^\s+|\s+$/g, "");
    perchè ritorni sia str che str.replace(/^\s+|\s+$/g, "")

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Non vengono restituiti entrambi i valori (in Javascript non sarebbe nemmeno possibile, una funzione può restituire un singolo valore), ma il risultato dell'espressione
    Codice:
    str && str.replace(/^s+|s+$/g, "")
    La cosa che credo ti confonda è l'operatore &&, il su comportamento è semplice: se il valore booleano del primo operando (in questo caso str) è falso, allora restituisce il primo operando, altrimenti il secondo. Questo trucco può essere utile nel caso in cui str sia undefined, null o una stringa vuota.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •