Validierung des Javascript-Namens

Ich habe eine Javascript-Funktion geschrieben, um ein Feld in meinem Formular zu validieren. Diese Funktion soll sicherstellen, dass das Feld nicht leer ist, das Limit von 35 Zeichen nicht überschreitet und nur alphabetische Zeichen und einen Bindestrich (-) enthält. Ich hatte Code, um sicherzustellen, dass das Feld nicht leer ist und nicht länger als 35 Zeichen ist, was gut funktioniert hat, aber ich habe Code hinzugefügt, um das Feld für die verwendbaren Zeichen zu validieren, und ich habe es getestet, indem ich das Feld leer gelassen habe, um sicherzustellen, dass es noch funktioniert Aber als ich auf die Schaltfläche "Senden" geklickt habe, schien die Funktion überhaupt nicht zu validieren, gab mir keine Warnung und reichte nur ein. Hier ist mein Code:

function validateFamily()
{
var family=document.getElementById('family');
var stringf = document.getElementById('family').value;
if (family.value=="")
    {
     alert("Family name must be filled out");
     return false;
    }
else if (document.getElementById('family').value.length > 35)
    {
        alert("Family name cannot be more than 35 characters");
        return false;
    }
else if (/[^a-zA-Z\-\]/.test( stringf ))
    {
        alert("Family name can only contain alphanumeric characters and hypehns(-)")
        return false;
    }
    return true;
}

<form name="eoiform" method="POST" action="<?php echo $_SERVER["PHP_SELF"];?>" id="eoi" onsubmit="return validateFamily() && validateGiven() && validateMaleFemale() && validDate() && validateAddress() && validatePost() && validateParent() && validateWork() && validateHome() && validateMob() && validateCheckBoxes();">

<b>Student's Family Name</b> 
<br>
<input type="text" id="family" name="family" /><?php echo $strmsgf; ?>

<input type="submit" name="submit" id="submit" value="submit" />

</form>

Kann mir jemand zeigen, wie man meinen Code repariert?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage