codeigniter form validation mit Telefonnummern

8

Was ist ein guter Weg, um Telefonnummern zu validieren, die in Codezeichen eingegeben werden?

Ich schreibe zum ersten Mal eine App und verstehe Regex überhaupt nicht.

Ist es einfacher, drei Eingabefelder für die Telefonnummer zu haben?

    
Kevin Brown 20.12.2009, 22:48
quelle

4 Antworten

15

Hier ist ein cooler Regex, den ich im Internet gefunden habe. Es validiert eine Zahl in fast jedem US-Format und konvertiert sie in (xxx) xxx-xxxx. Ich denke, es ist großartig, denn dann können die Leute jede 10-stellige US-Telefonnummer in dem Format eingeben, das sie gewohnt sind, und Sie erhalten eine korrekt formatierte Nummer.

Hier ist die ganze Funktion, die Sie in Ihre MY_form_validation-Klasse einfügen können. Ich wollte, dass in meinem Formular leere Felder zulässig sind. Sie müssen es also ändern, wenn Sie einen Wert erzwingen möchten.

%Vor%     
Dana 21.12.2009, 03:06
quelle
3

Der beste Weg ist, die Telefonnummern überhaupt nicht zu validieren, es sei denn, Sie sind absolut zu 100% positiv, dass Sie nur mit Telefonnummern in den USA oder zumindest Nordamerika zu tun haben. Sobald Sie Telefonnummern aus Europa zulassen, glaube ich nicht, dass es eine Regex gibt, die alle Möglichkeiten abdeckt.

    
Fant 20.12.2009 23:03
quelle
3

entferne die Nicht-Ziffern mit diesem:

%Vor%

und sehen, ob es genug Zeichen gibt!

%Vor%

Das ist freilich natürlich, wird aber auch für internationale Zahlen funktionieren (da es nur darum geht, zu sehen, ob es mehr als 7 Zahlen in der Eingabe gibt).

Ändern Sie einfach die Anzahl der benötigten Ziffern gemäß Ihren Angaben.

    
Dan Beam 20.12.2009 23:17
quelle
0

Die Regex-Lösung, wie von Dan erklärt, wäre der Weg dazu - aber Sie sollten vielleicht noch einmal überdenken, Telefonnummern überhaupt zu validieren. Was ist, wenn der Benutzer eine Notiz hinzufügen möchte, so wie er / sie das auf Papier machen würde? - Ich sehe viele Werte, die in den Telefonnummernfeldern eingegeben werden, wie:

307-555-2323 (nach Hause)

oder

307-555-3232 nach 18 Uhr

Ich denke heute können wir davon ausgehen, dass die Benutzer wissen, was sie eingeben sollen.

    
Steven 03.06.2010 14:30
quelle

Tags und Links