Diese Expression prüft auf Ländervorwahl mit + und 1-4 Stellen, danach ein Leerzeichen und dann ein beliebiges der folgenden Zeichen: 0123456789() und das Leerzeichen
\+[0-9]{1,4} ?(0?[ \(\)0-9]{1,})$
Im OnLoad des Formulars wird dafĂĽr diese Funktion hinterlegt.
- Code: Alles auswählen
tsCheckPhone = function(tel)
{
var regEx = /^\+[0-9]{1,4} (0?[ \(\)0-9]{1,})$/;
return tel.match(regEx);
}
Die Regulär Expression kann dabei natürlich gegen jede gewünschte, gültige expression ausgetauscht werden, je nachdem, was geprüft werden soll.
Im OnSave des Formulars wird dann geprĂĽft, ob das Feld richtig gefĂĽllt ist und wenn nicht, wird das speichern verhindert.
- Code: Alles auswählen
if(crmForm.all.telephone1)
{
if(crmForm.all.telephone1.DataValue != null)
{
var telephonenumber = tsCheckPhone(crmForm.all.telephone1.DataValue);
if(!telephonenumber)
{
alert('UngĂĽltige Nummer, bitte verwenden Sie +49 (251)123456');
crmForm.all.telephone1.SetFocus();
// Durch diese 2 Befehle wird der Datensatz nicht gespeichert!!!
event.returnValue=false;
return false;
}
}
}
Damit der Benutzer nicht erst beim speichern darauf hingewiesen wird, das die Telefonnummer nicht korrekt ist, sollte diese natürlich auch zusätzlich im OnChange des Feldes überprüft werden:
- Code: Alles auswählen
if(crmForm.all.telephone1.DataValue != null)
{
var telephonenumber = tsCheckPhone(crmForm.all.telephone1.DataValue);
if(!telephonenumber)
{
alert('UngĂĽltige Nummer, bitte verwenden Sie +49 (251) 123456');
crmForm.all.telephone1.SetFocus();
}
}