inhalt eines inputs abchecken...

M

MF

Hi,

Ich habe hier nen formular welches zu einem newsletter gehört wo man sich ein bzw austragen kann. Man gibt hier also Seinen Gewünschten namen an und seine e-mail adresse, nun mein problem vor einigen minuten hat sich jemand einen spass erlaubt und dort völligen blödsinn eingetragen.

Es ist klar das ich nicht verhindern kann das er einen falschen namen eingibt allerdings kann man es ja einiger masen verhindern das jemand ne falsche email adresse angibt.

Ich weis das es einen befehl in javascript gibt mit dem man eine input eingabe nach bestimmten buchstaben oder zahlen durchsuchen kann, leider weis ich nicht wie dieser befehl lautet.

Es wäre sehr nett wenn mir jemand diesen befehl sagen könnte, in SelfHtml hatte ich schon nachgeschaut dies ist mir allerdings zu unübersichtlich.
Wenn allerdings jemand so freundlich ist und mir gleich die complette funktion schreiben könnte wäre ich ihm sehr dankbar:

Ich möchte 2 input felder checken das eine ist jenes wo der user seinen namen eingibt, also möchte ich dieses abchecken ob dort sonderzeihen drin sind, wenn ja mache den user darauf aufmerksam. Das 2. inputfeld ist das wo der user seine eMail angibt, hier möchte ebenfalls das selbe wie im vorherigem input feld abchecken und dazu noch ob ein @ zeichen vorhanden ist, wenn ein weiteres vorhanden ist dann soll noch geprüft werden ob noch ein weiteres vorhanden ist.

Na ja und wenn irgendein fehler vorkommt dann soll es dem user angezeigt werden (link auf eine andere site wo steht: Name und/oder eMail sind falsch, diese datei existiert bereits und heißt error.html).

Die input felder heißen:

name
email

das Formular heißt:

newsletter

----------------------------------------

für eine schnelle antwort wäre ich sehr dankbar.
 
hmm ok habe mir jetzt mal die mühe gemacht und alle informations quellen die ich habe durchgelsen und mich selbst dran gemacht hat zwar 5std gedauert bis ich das jetzt einigermaßen gut hinbekommen habe aber es scheint einwandfrei zu funktionieren. Allerdings habe ich jetzt noch sone dummen alerts eingebaut die ich ziehmlich nervig finde.

Hier das script für die die es interesiert:

Code:
<SCRIPT LANGUAGE="JavaScript">  
function emailCheck (emailStr){

	var checkTLD=1; 
	var knownDomsPat=/^(de|vu|com|net|org|gov|biz|info)$/; 
	var emailPat=/^(.+)@(.+)$/; 
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]"; 
	var validChars="\[^\\s" + specialChars + "\]"; 
	var quotedUser="(\"[^\"]*\")"; 
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/; 
	var atom=validChars + '+'; 
	var word="(" + atom + "|" + quotedUser + ")"; 
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$"); 
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$"); 
	var matchArray=emailStr.match(emailPat); 

	if (matchArray==null){ 
		alert("Deine eMail Adresse scheint falsch zu sein (schau nach @ und .'ten)."); 
		return false; 
	}
	 
	var user=matchArray[1]; 
	var domain=matchArray[2]; 

	for (i=0; i<user.length; i++){ 
		if (user.charCodeAt(i)>127){ 
			alert("Der eMail Name enthält nicht unterstützte Zeichen."); 
			return false; 
   		} 
	}
	 
	for (i=0; i<domain.length; i++){ 
		if (domain.charCodeAt(i)>127){ 
		alert("Dieser Domain Name enthält nicht unterstützte Zeichen."); 
		return false; 
		} 
	} 

	if (user.match(userPat)==null){ 
		alert("Der eMail Name scheint nicht korrekt zu sein."); 
		return false; 
	}

	var IPArray=domain.match(ipDomainPat); 
	if (IPArray!=null){ 
		for (var i=1;i<=4;i++){
			if (IPArray[i]>255){ 
			alert("Die Ziel-Ip scheint ist anscheinent nicht korrekt."); 
			return false; 
   			} 
		} 
		return true; 
	} 

	var atomPat=new RegExp("^" + atom + "$"); 
	var domArr=domain.split("."); 
	var len=domArr.length;
	 
	for (i=0;i<len;i++){ 
		if (domArr[i].search(atomPat)==-1){ 
		alert("Der Domain name scheint nicht korrekt zu sein."); 
		return false; 
   		} 
	} 

	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1){ 
		alert("Die Domain muss eine bekannte Domain sein oder mit zwei Buchstaben enden."); 
		return false; 
	} 

	if (len<2){ 
		alert("Dieser Email Adresse fehlt ein Hostname."); 
		return false; 
	}
	
return true; 
} 

</script>

Ich weis auch net warum ich die variablen alle in english benannt habe, liegt wohl daran das ich grade ne englishe freundin habe ;)

Also ich habe des jetzt so gescripted das er zuerst danach schaut ob punkte oder ein @ zeichen vorhanden ist, danach sucht er vor dem @ nach sonderzeichen na ja usw sollte alles aus dem script hervorgehen. Ich bin leider kein fan von komentaren, das wird mich irgendwann noch mal umbringen das ich nix komentiere aber ich wuste nicht was ich da komentieren sollte denn ich weis ja selber nicht mal so richtig was ich da gescripted habe :D.

Eingebaut ist es auch schon, wers in aktion sehen will muss einfach mal auf meiner homepage schaun und sich in den newsletter eintragen, ihr koennt ja mal zum spass eine falsche eintragen, solltet ihr erfolg haben eine falsche adresse zu tragen dann meldet mir das bitte.

ps.: Meine Homepage wird eine Clan HP, der clan heißt PSI Core und spielt hauptsächlich Counter Strike. Wann die seite online gehen wird kann ich nicht sagen denn zur zeit spielt der ftp verrückt ich kann blos 2kb große datein hochladen.

MfG
MajinFreeza
Alias
Marcus Trettin
 
dieser befehl heisst indexOf und funktioniert so:

test='001';
if( test.indexOf( '1' ) > -1 ) alert( 'der string enthält eine 1' );

c ya
 
Zurück