Ich muss überprüfen, dass die albumID Eingabe 2 Großbuchstaben und 3 Zahlen ist. Ich benutzte http://regexr.com/ und auch http://www.tutorialspoint.com/php/php_preg_match.htm zu bestätigen, dass dieseRegex preg_match funktioniert nicht, um alphabetische Großbuchstaben und numerische albumID zu entsprechen
preg_match('/([A-Z]{2}[0-9]{3})/', $albumid)
funktionieren sollte, aber es ist nicht:
<?php
// define variables and set to empty values
$albumidErr = $albumid = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (preg_match('/([A-Z]{2}[0-9]{3})/', $albumid))
{
$albumid = test_input($_POST["albumid"]);
$albumidErr = print $albumid;
}
else {
$albumidErr = " Album ID must be 2 Uppercase letters and 3 numbers (i.e. BI010)";
}
}
?>
<form method="post" action="
<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<p>
<label for="albumid">*Album ID:</label>
<?php echo $albumidErr;?><br>
<input type="text" name="albumid" id="albumid"/>
</p>
<p>
<input type="submit" name="submit" id="submit" value="submit"/>
</p>
</form>
es wird nicht funktionieren, weil es nicht richtig – rock321987
Mögliche Duplikat [regulären Ausdruck benötigen mindestens 3 zur Überprüfung Großbuchstaben, 3 Kleinbuchstaben, 3 Ziffern und 3 Sonderzeichen] (http://stackoverflow.com/questions/16689167/need-regular-expression-for-checking-at-least-3-uppercase-3-lowercase-3-digits) – rock321987
Wenn Sie genaue Spezifikationen/Anforderungen angeben und beschreiben, wie Ihre Regex d oes nicht und sollte funktionieren. In Ihrem Code geben Sie ein Beispiel "BI010" an, aber es wird mit "[A-Z] {2} [0-9] {3}" verglichen. Möchten Sie es als * ganze Zeichenfolge * (vollständige Übereinstimmung) zuordnen? Siehe [** PHP preg_match full string **] (http://stackoverflow.com/questions/16375856/php-preg-match-full-string). –