E` possibile che metodi diversi portino allo stesso risultato.
C'e` anche una distinzione sulla stringa su cui si fa il conto. Io avevo assunto che volessi leggere un dato dalla location, mentre poi mi sono accorto che volevi invece tagliare qualcosa da una stringa.
Quindi le proprieta` search e path di location non si possono usare.
Comunque il metodo substring() io non lo uso mai: in qualche versione di JS aveva una sintassi diversa; io uso semnpre substr.
Pero` a me piace di piu` il metodo split(): lo trovo piu` sintetico e razionale.
Tieni presente che forms[] e` un vettore predefinito in JS, per cui e` sconsigliabile usarlo come nome di variabie (anche se locale).