voglio per convalidare una casella di testo che hanno un certo valore url come i blog indirizzo o sito indirizzo come posso convalidare questo campo testo in jscome posso convalidare un URL in JavaScript utilizzando espressioni regolari
risposta
Fare un test RegExp di base per formattazione. Quindi esegui il ping dell'URL utilizzando un XMLHttpRequest per assicurarti che esista. Un esempio utilizzando jQuery ...
var url = $("#txtUserWebSite").val();
var reg = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)[email protected])?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([,-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([,-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([,-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
if(!reg.test(url)) {
alert("Invalid URL!");
return false;
}
$.get(url, function(dat, stat) {
if(stat == "success")
alert("Valid URL!");
else
alert("Invalid URL!");
})
suppongo, che si sa come ottenere il valore di <input>
con JavaScript. Quindi il tuo problema è scrivere la funzione specifica per la convalida dell'URL.
In primo luogo potremmo considerare verificando che l'URL sia sintatticamente corretto.
Alcuni esempi, che il nostro validatore URL deve assolutamente prendere in considerazione OK:
http://www.example.com.
http://www.google.ee/search?q=foo&sourceid=opera&ie=utf-8&oe=utf-8
https://ama-z-on.co.uk/index.html?a=hei%20hoo
ftp://ftp.linux.ee/public/gentoo/i386/portage-snapshot.tar.bz
http://he.wikipedia.org/wiki/שטרגליים#.D7.A8.D7.90.D7.95_.D7.92.D7.9D
sftp://123.1.255.128:80/pub
E questo è solo una piccola frazione del reale varietà di URL-s possibile. E HTTP e FTP non sono gli unici protocolli possibili per l'URL. Oh uomo, quella validazione dell'URL è davvero difficile.
Ma supponiamo che un URL valido debba iniziare con alcune lettere, quindi ": //" e dopo quello che mai. Per verificare che tipo di modello si può usare un'espressione regolare che in JavaScript assomiglia a questo:
function validateUrl(url) {
return /^[a-z]+:\/\//i.test(url);
}
espressioni regolari sono un intero argomento grande, che si dovrebbe prendere in considerazione l'apprendimento da soli, ma solo una breve spiegazione qui:
/
- inizio di espressione regolare^
- corrisponde l'inizio della stringa[a-z]
- corrisponde sia a, b, c, ..., x, y, z.+
- significa che il modello precedente può essere ripetuto una o più volte.:
- corrisponde al simbolo del colon stesso.\/
- corrisponde alla barra di avanzamento/
(senza il backslash JavaScript potrebbe pensare che sia la fine dell'espressione regolare)./
- termina l'espressione regolare.i
- questo è un modificatore, che rende questa espressione regolare senza distinzione tra maiuscole e minuscole..test(url)
- chiama il parametrotest
di oggetto espressione regolare conurl
come parametro. Quando parametro corrisponde all'espressione regolare, restituiscetrue
altrimentifalse
.
Inoltre si potrebbe desiderare di consentire l'inserimento di un URL senza la parte http://
- questo significa che si ha realmente bisogno di convalidare il nome di dominio o l'indirizzo IP o qualsiasi altra cosa che lo segue.
Immagino che ora sei abbastanza confuso, e questo è intenzionale. Non dovresti davvero scrivere JavaScript per fare la convalida degli URL da solo, è troppo difficile farlo bene.Invece dovresti usare una funzione di libreria, che è stata testata e confermata corretta da molti esperti.
Forse il fraimwork JavaScript che stai utilizzando ha già un buon strumento per quel lavoro. In tal caso, usalo. Purtroppo non posso suggerire alcuna libreria specifica per la convalida degli URL in modo specifico.
Inoltre, è possibile prendere in considerazione l'ping dell'URL come suggerito da Josh Stodola, per verificare che esista realmente. Sebbene, il modo specifico suggerito da Josh, potrebbe essere problematico nel caso in cui la risorsa referenziata dall'URL sia il file 10GB :)
Controlla lo Regular Expression Library, che dispone di un ampio repository di espressioni regolari per tutti i tipi di convalida. Offrono anche uno strumento di test online.
- 1. espressioni regolari per convalidare un timestamp
- 2. espressioni regolari javascript come funzioni?
- 3. Come convalidare un indirizzo URL in jquery usando Regex?
- 4. Combinazione di espressioni regolari in Javascript
- 5. espressioni regolari Javascript - stringa suddivisa
- 6. Ricerca Github utilizzando espressioni regolari
- 7. JFormattedTextField utilizzando un formattatore di espressioni regolari?
- 8. PHP espressioni regolari per sostituire collegamento URL
- 9. Utilizzo di PHP espressioni regolari per convalidare il nome utente
- 10. Raccontando le eccezioni di espressioni regolari di espressioni in JavaScript
- 11. estratto sottostringa utilizzando espressioni regolari in Groovy
- 12. espressioni regolari per convalidare UK National Insurance Number
- 13. Come utilizzare le espressioni regolari in Jinja2?
- 14. Commentando le espressioni regolari
- 15. Espressioni regolari in OCaml
- 16. Combinare più espressioni regolari in un automa
- 17. correttamente sfuggire alle barre URL in espressioni regolari
- 18. Casse in espressioni regolari
- 19. Come convalidare un indirizzo IP con espressioni regolari in Objective-C?
- 20. Espressioni regolari in C
- 21. Utilizzando parentesi nelle espressioni regolari modello
- 22. Unione di espressioni regolari
- 23. Creazione di matrici di espressioni regolari Javascript
- 24. Espressioni regolari nel findstr
- 25. JavaScript espressioni regolari e sub-match
- 26. URL Filter con le espressioni regolari in PHP
- 27. Estrarre numeri da una stringa utilizzando espressioni regolari e regolari
- 28. MSSQL espressioni regolari
- 29. espressioni regolari Javascript per la convalida dei nomi file
- 30. Regex: come posso catturare un gruppo dopo un gruppo di acquisizione opzionale utilizzando le espressioni regolari?
È molto facile utilizzare un motore di ricerca, ma lmgtf: http://lmgtfy.com/?q=validate+url+javascript – tuergeist