Meine Antwort ist fast wie diese: Pregmatch for at least 3 letters and for minus and apostropheregex und Apostroph
Also, ich brauche auch einen regulären Ausdruck für einen Namen Validierung. Aber meine Regeln sind ein wenig anders:
- muss mit einem Buchstaben beginnen;
- keine Nummern und keine alphanumerische;
- müssen mindestens drei Buchstaben haben (auch nicht nur aufeinanderfolgende ... anywere im Namen) und max 20;
kann nur einen Apostroph (') oder keinen anderen akzeptieren - dies sind die einzigen Sonderzeichen, die verwendet werden können ... (nicht obligatorisch und anywere im Namen). es Dinge tat, wo Sie die Apostroph setzen
für ex:
d'Amico => Kauf genommen werden muß;
d'Amico '=> keine d'Amico => keine ‚oneil => kein dell'amore => ja damico => ja king kong => ja io => keine io9 => nein
8888 => nein aaa +++? => Kein
Bis jetzt habe ich diesen Code:
<?php
...
// Array errori
$error = array(); // o $error = []; se hai una versione di php recente
// Controllo il Nome Utente
if(trim($nome) == ''){
$error[] = 'Campo nome non compilato'; }
if (ctype_alnum($nome))
{$error[] = 'Se vuoi modificare il campo nome, assicurati che lo
stesso non contenga numeri al suo interno!'; }
if(strlen($nome) < 3 || strlen($nome) > 20){
$error[] = 'Il campo nome deve contenere minimo 3 caratteri e massimo 20 caratteri'; }
if (!preg_match("/^([A-Za-z|àèéìòù][A-Za-z'-]*?){3,}$/", $nome)) {
$error[] = 'Il campo nome contiene caratteri non ammessi'; }
...
?>
<html>...
<?php
if(!empty($error)){
echo '<center>';
echo implode('<br/>', $error);
echo '</center>';
}
?>
...
</html>
Wie kann ich alles in einen String kombinieren? Vielen Dank im Voraus!
Ich bin neugierig: Warum eine solche starre Validierung gegen Name jemand? Es ist verständlich für Dinge wie E-Mails und Telefonnummern, aber wenn es um Namen und all die verschiedenen Kulturen geht, die unterschiedliche Regeln haben, wäre es nicht sinnvoller, nur bestimmte Zeichen zu akzeptieren? – maiorano84
@ maiorano84 einfach, um die manuelle Arbeit zu rationalisieren, die auftritt, nachdem sich ein Benutzer am Formular anmeldet. Es gibt keinen Rassismus gegenüber dem Namen von jemandem ... :) aber wenn Sie irgendeinen Vorschlag haben, nehme ich es gerne an. – Chuby
Persönlich? Ich würde es nur auf Buchstaben, Leerzeichen, Bindestriche und Apostrophen beschränken. Ich würde mich nicht zu sehr mit Benutzern beschäftigen, die etwas wie "m''gorpkplzik" machen. Nach allem, was ich weiß, haben sich die Eltern vielleicht dazu entschlossen, sie zu benennen, indem sie eine Tastatur über eine Treppe werfen. Ich denke, dass dem Benutzer ein gewisses Vertrauen entgegengebracht werden muss, um gültige Informationen einzugeben. Ich würde etwas vorschlagen wie: '/^(?.*[a-z]{3})[a-z0-9\- \ 'àèéìòù] + $/i'. Das wird zumindest sicherstellen, dass Sie 3 aufeinanderfolgende Buchstaben haben. – maiorano84