2013-08-30 7 views
2

J'utilise jquery pour la validation de nom mais lorsque j'utilise la fonction de test, elle ne fonctionne pas. Voici le codeLa fonction de test de jquery ne fonctionne pas correctement

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#msg').hide(); 

     $('input[name = "frequency_add_button"]').click(function() { 
      var error = validate_add_form(); 
      if (error !== '') { 
       $('#msg').show(); 
       $("p:first").html(error); 
       return false; 
      } 
     }); 

     function validate_add_form() { 
      var strname = $('#frequency_name_add').val(); 
      var illegal_chars = "/^.*?(?=[\^#%$\*:<>\?\{\|\}\@\!]).*$/"; 

      if ($.trim(strname) === '') { 
       return 'Please enter frequency name'; 
      } 
      if ($.trim(strname).length < 4 || $.trim(strname).length > 10) { 
       return 'Frequency name length must be between 4 and 10 characters'; 
      } 
      /*if(illegal_chars.test(strname)) 
      { 
       return 'Special characters are not allowed in frequency name'; 
      }*/ 
      return ''; 
     } 
    }); 
</script> 

Pour vérifier vide et longueur cela fonctionne bien, mais quand je décommenter la partie, rien commenté fonctionne à tous. Il est bon de vérifier la syntaxe des caractères illégaux dans jquery? Merci pour l'aide.

+0

À quoi ressemble votre balisage? – rgin

+0

@rgin: - merci, mais le problème a été résolu. –

Répondre

4

illegal_chars devrait être un RegExp, pas une chaîne. Essayez:

var illegal_chars = /[\^#%$*:<>?{|}@!]/; 
+0

Cela a fonctionné. Merci beaucoup pour votre aide rapide. –

Questions connexes