Visualizzazione dei risultati da 1 a 1 su 1
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    residenza
    Rimini
    Messaggi
    203

    Problema: validare/controllare che l'URL inserito sia con questo formato

    Ciao a tutti,
    ho un problema che solo qualche buon'anima qui può aiutarmi a risolvere.

    Ho un form con un unico campo input text nel quale l'utente deve inserire l'URL nel formato hostname ovvero: google.com oppure apple.com
    Dovrei implementare una funzione javascript che controlli che nell'URL non ci sia
    - http//
    - https//
    - http//www.
    - https//www.

    Su Stackoverflow (https://stackoverflow.com/questions/...o-validate-url) ho trovato questo codice

    codice:
    console.log('http://www.google-com.123.com', validateUrl('http://www.google-com.123.com')); // true 
    console.log('http://www.google-com.123', validateUrl('http://www.google-com.123')); // false 
    console.log('https://www.google-com.com', validateUrl('https://www.google-com.com')); // true 
    console.log('http://google-com.com', validateUrl('http://google-com.com')); // true 
    console.log('http://google.com', validateUrl('http://google.com')); //true 
    console.log('google.com', validateUrl('google.com')); //false
    console.log('http://www.gfh.', validateUrl('http://www.gfh.')); //false
    console.log('http://www.gfh.c', validateUrl('http://www.gfh.c')); //false
    console.log('http://www.gfh:800000', validateUrl('http://www.gfh:800000')); //false
    console.log('www.google.com ', validateUrl('www.google.com ')); //false
    console.log('http://google', validateUrl('http://google')); //false
    console.log('//cdnblabla.cloudfront.net/css/app.css', validateUrl('//cdnblabla.cloudfront.net/css/app.css')); //true
    
    function validateUrl(value) {
      return /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(value);
    }

    C'è qualcuno che sa come modificare la regular expression per far in modo che solo la forma nomesito.com sia valida e passi il controllo ?
    Ultima modifica di CiccioCode; 28-09-2017 a 04:17

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 © 2024 vBulletin Solutions, Inc. All rights reserved.