2013-08-21 5 views
5

j'ai eu la validation URL suivante regex:validation URL Javascript regex

/(ftp | https?): // [^ « ] + $/

Ceci est de l'arbitre: Regular expression for URL validation (in JavaScript)

Cela fonctionne très bien, y compris des cas comme http://localhost:8080, mais il valide aussi ceux ci-dessous que je ne veux pas. Le regex ci-dessus ne doit pas passer les urls ci-dessous

1. http://www.example..com 
2. http://.com 
3. http://. 
4. http://www.example. 

Veuillez aider comme je suis un noob dans regex

deuxième question, mais pas liée à la question, mais regex est, quand je valide nulle et non définie contre la regex /^ [a-z] + $/i i obtenir vrai. Est-ce le comportement par défaut ou ai-je oublié quelque chose ici?

+0

Qu'entendez-vous par échec? Sont-ils marqués comme valides ou invalides? –

+0

vérifier cela - http://stackoverflow.com/a/8234912/1823389 –

+2

Cela a été tellement battu à mort. S'il vous plaît, SVP, recherchez avant de poser des questions. – coreyward

Répondre

8

Essayez cette

function is_valid_url(url) 
{ 
    return url.match(/^(ht|f)tps?:\/\/[a-z0-9-\.]+\.[a-z]{2,4}\/?([^\s<>\#%"\,\{\}\\|\\\^\[\]`]+)?$/); 
} 

Appelez la fonction is_valid_url(YOUR_WEBSITE_URL) partout où vous voulez validate site.

+1

Échoue pour le cas 1 et http: // localhost: 8080 – hellojava

+0

Ok, je le vérifie maintenant – Chinmay235

+0

{2,4} ne couvre pas un grand nombre de TLD, en particulier tous les nouveaux qui viennent de sortir. Voir http://data.iana.org/TLD/tlds-alpha-by-domain.txt en utilisant {2,22}. –

2

Try This ..

<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> 
 
<script src="http://jqueryvalidation.org/files/dist/jquery.validate.min.js"></script> 
 
<script src="http://jqueryvalidation.org/files/dist/additional-methods.min.js"></script> 
 
<script> 
 
// just for the demos, avoids form submit 
 
jQuery.validator.setDefaults({ 
 
    debug: true, 
 
    success: "valid" 
 
}); 
 
$("#myform").validate({ 
 
    rules: { 
 
    field: { 
 
     required: true, 
 
     url: true 
 
    } 
 
    } 
 
}); 
 
</script>

0

I construit this IP regex et validation DNS javascript.

/^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?((([a-z0-9])*[:]){1}|(([a-z0-9])*[.]){1}|(([0-9]){1,3}([.]|[:])){3}(([0-9]){1,3}[:]){1})([a-z]{2,5}|[0-9]{1,5})([.]([a-z0-9]){1,3})?(\/.*)?$/