E-Mail-Regex funktioniert nur im Firefox, aber nicht im Opera und IE

Thomas D

Erfahrenes Mitglied
Hallo!

HTML:
Code:
<script type="text/javascript" src="Validation.js"></script>
<script type="text/javascript">
	function validierung ()
	{
		if (!emailVal(document.getElementById('email').value))
			return false;
		...
		return true;
	}
</script>

JS:
Code:
function emailVal (email)
{
	var usr = "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")";
	var domain = "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}";
	var regex = "^" +usr + "\@" + domain + "$";

	var rgx = new RegExp(regex);
	if (rgx.exec(email))
		return true;
	else
	{
		alert ("Die eingegebene E-Mail-Adresse ist nicht korrekt.");
		return false;
	}
}

Die Validierung funktioniert im Firefox stets unproblematisch. Im IE und im Opera jedoch wird immer (egal was eingegeben wird) FALSE zurückgegeben. Woran könnte das liegen :confused:

MfG, Thomas D.
 
Nach längerem Suchen bin ich nun drauf gekommen, warum die Regex im Firefox, aber nicht im IE oder Opera funktioniert hat. Die Regex ist absolut in Ordnung, nur rufe ich document.getElementById() in einer inkludierten PHP-Datei auf. In der darüber geordneten befindet sich ein Element mit derselben ID. Nun wählen der IE und Opera scheinbar die erste ID aus, Firefox die zweite (und damit richtige). Danach war's natürlich überhaupt kein Problem mehr, die zweite ID zu ändern ...
 

Neue Beiträge

Zurück