• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Kontaktformular

!Andy

New member
Hallo Javascript-Freunde,

mein Name ist Andi, bin neu hier, habe absolut keine Ahnung von Javascript und hoffe auf eine kleine Unterstützung der Profis in diesem Board.

Für ein kleines Kontaktformular, das ich als Muster aus dem Netz bekommen habe, möchte ich gerne, das die Telefonnummer als Pflichtfeld und auf einen gültigen Eintrag geprüft wird. Das Feld wird in der Form als "Phone" bezeichnet. Das die Telefonnummer aus dem JS mitgesendet wird, habe ich eher Zufälligerweise hinbekommen. Nur für die gültige Eingabe bzw. Prüfung der Eingabe, fehlt mir das Verständnis. Ich hoffe das jemand den Code für mich ergänzen kann?

Gruß
Andi


Code:
(function() {
var animateSpeed=300;
var emailReg = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;

	// Validating
	
	function validateName(name) {
		if (name.val()=='*') {name.addClass('validation-error',animateSpeed); return false;}
		else {name.removeClass('validation-error',animateSpeed); return true;}
	}
	
	function validateEmail(email,regex) {
		if (!regex.test(email.val())) {email.addClass('validation-error',animateSpeed); return false;}
		else {email.removeClass('validation-error',animateSpeed); return true;}
	}
		
	function validateMessage(message) {
		if (message.val()=='') {message.addClass('validation-error',animateSpeed); return false;}
		else {message.removeClass('validation-error',animateSpeed); return true;}
	}
	
				
	$('#send').click(function() {
	
		var result=true;
		
		var name = $('input[name=name]');
		var email = $('input[name=email]');
		var phone = $('input[name=phone]');
		var message = $('textarea[name=message]');
				
		// Validate
		if(!validateName(name)) result=false;
		if(!validateEmail(email,emailReg)) result=false;
		if(!validateMessage(message)) result=false;
		
		if(result==false) return false;
				
		// Data
		var data = 'name=' + name.val() + '&email=' + email.val() + '&phone=' + phone.val() + '&message='  + encodeURIComponent(message.val());
		
		// Disable fields
		$('.text').attr('disabled','true');
		
		// Loading icon
		$('.loading').show();
		
		// Start jQuery
		$.ajax({
		
			// PHP file that processes the data and send mail
			url: "contact.php",	
			
			// GET method is used
			type: "GET",

			// Pass the data			
			data: data,		
			
			//Do not cache the page
			cache: false,
			
			// Success
			success: function (html) {				
			
				if (html==1) {	

					// Loading icon
					$('.loading').fadeOut('slow');	
						
					//show the success message
					$('.success-message').slideDown('slow');
											
					// Disable send button
					$('#send').attr('disabled',true);
					
				}
				
				else {
					$('.loading').fadeOut('slow')
					alert('Fehler beim senden.');				
				}
			}		
		});
	
		return false;
		
	});
		
	$('input[name=name]').blur(function(){validateName($(this));});
	$('input[name=email]').blur(function(){validateEmail($(this),emailReg); });
	$('textarea[name=message]').blur(function(){validateMessage($(this)); });
 
Hi, ich kann dir nur die Benutzung einer library empfehlen!
Google's libphonenumber könnte genau das sein was du brauchst.
Ich habe auch einen Blogpost darüber geschrieben:
Telefonnummern einfach parsen, formatieren und validieren
Der große Vorteil ist, dass so eine library praktisch alle Fälle abdeckt, auch internationale Telefonnummern unterstützt (wenn gewünscht) und noch mehr coole Funktionen hat.
Wenn man die lib bei sich auf einem aktuellen Stand hält braucht man sich auch nicht drum kümmern ob sich mal Regeln ändern oder so... :cool:
 
Zurück
Oben