Простеникая валидация заполнения полей формы

Discussion in 'PHP' started by serg-php, 23 Jul 2011.

  1. serg-php

    serg-php Elder - Старейшина

    Joined:
    28 Jan 2008
    Messages:
    313
    Likes Received:
    9
    Reputations:
    0
    Есть такой код для проверки корректности ввода мыла
    Code:
    	$(document).ready(function() {
    
    		$("#email").keyup(function(){
    		
    			var email = $("#email").val();
    		
    			if(email != 0)
    			{
    				if(isValidEmailAddress(email))
    				{
    					$("#validEmail").css({
    						"background-image": "url('true.gif')"
    					});
    				} else {
    					$("#validEmail").css({
    						"background-image": "url('false.gif')"
    					});
    				}
    			} else {
    				$("#validEmail").css({
    					"background-image": "none"
    				});			
    			}
    		
    		});
    	
    	});
    	
    	function isValidEmailAddress(emailAddress) {
     		var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
     		return pattern.test(emailAddress);
    	}

    Как его расширить для проверки еще и логина username
    , чтобы минимально допустимо для ввода было 3 символа и макс. 15,
    символы ".,*_" запрещены?
     
  2. Fuckel

    Fuckel Banned

    Joined:
    16 Jan 2008
    Messages:
    274
    Likes Received:
    59
    Reputations:
    6
    Я бы использовал плагин Validate на jquery. Но если для практики, то здесь можно найти пример http://designformasters.info/posts/mvc-javascript/
     
  3. serg-php

    serg-php Elder - Старейшина

    Joined:
    28 Jan 2008
    Messages:
    313
    Likes Received:
    9
    Reputations:
    0
    Fuckel,

    благодарю!

    Нашел прмерчик!


    http://jquery.bassistance.de/validate/demo/
     
  4. serg-php

    serg-php Elder - Старейшина

    Joined:
    28 Jan 2008
    Messages:
    313
    Likes Received:
    9
    Reputations:
    0
    Единственное смущает, как запретить "_,." в логине (userame)
     
  5. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Code:
    $(document).ready(function() {
    	var emailElement = $("#email"),
    		loginElement = $("#login"),
    		validEmail = $("#validEmail");
    
    		$("#email").keyup(function(){
    		
    			var email = emailElement.val(),
    				login = loginElement.val();
    		
    			if(email != 0 && login != 0)
    			{
    				if(isValidEmailAddress(email) && isValidLogin(login))
    				{
    					validEmail.css({
    						"background-image": "url('true.gif')"
    					});
    				} else {
    					validEmail.css({
    						"background-image": "url('false.gif')"
    					});
    				}
    			} else {
    				validEmail.css({
    					"background-image": "none"
    				});			
    			}
    		
    		});
    	
    	});
    	
    	function isValidEmailAddress(emailAddress) {
     		var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
     		return pattern.test(emailAddress);
    	}
    function isValidLogin(login) {
    	var pattern = new RegExp(/[\.,\*_]/);
    	return !pattern.test(login);
    }
    
     
    #5 Melfis, 23 Jul 2011
    Last edited: 23 Jul 2011
  6. serg-php

    serg-php Elder - Старейшина

    Joined:
    28 Jan 2008
    Messages:
    313
    Likes Received:
    9
    Reputations:
    0
    Melfis,

    благодарю!