2010-12-06 17 views

Répondre

2

URL ou liens? Il existe une différence.

Cependant, dans les deux cas, n'oubliez pas de vérifier également le backend. Vous ne pouvez pas faire confiance à la validation côté client. Il devrait seulement être utilisé pour faciliter la vie de l'utilisateur.

+0

Je en validant back-end en utilisant php. Je dois vérifier seulement dans le front-end. Exemples: http://www.example.com je veux éviter ce lien – Kathir

2

Vous pouvez utiliser une fonction personnalisée avec une expression régulière correspondant à ceci:

$.validator.addMethod('no_url', function validatePositionNummer(value){ 

      var re = /^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$/; 
      var trimmed = trim(value); 
      if(trimmed == ''){ 
       return true; 
      } 
       return trimmed.match(re); 

     },"No URLs allowed!"); 

Ensuite, vous ajoutez simplement votre nouvelle méthode de validation personnalisée à l'élément:

$("#your_form").validate({ 
textarea: no_url 
}); 

vous devez FINE- Réglez la regex du cours.

+0

Pourquoi explicite majuscule et minuscule au lieu d'un match insensible à la casse? Vous ne correspondrez pas à CoM avec cela (ou BIZ, musée, ou n'importe quel CCTLD d'ailleurs). – Quentin

0

@BernardMarx Merci pour la solution.

Ici, j'ai utilisé regex supplémentaire pour valider les protocoles en fonction de mes besoins. Maintenant, je dois valider à la fin. suggestion s'il vous plaît ..

Par exemple:

http://www.example.com/index.php

http://www.example.php/home/

$.validator.addMethod('no_url', function validatePositionNummer(value){ 

    var re = /^[a-zA-Z0-9\-\.\:\\]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$/; 

    var re1 = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/; 

    var trimmed = $.trim(value); 

    if(trimmed == ''){ 

     return true; 
    } 

    if(trimmed.match(re) == null && re1.test(trimmed) == false){ 

     return true; 
    } 

},"No URLs allowed!");