Суббота, Сентябрь 19, 2020

JavaScript validate.html

<head><title>Пример формы</title>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    <style type="text/css">.signup { border: lpx solid #999999;
         font:normal 14px helvetica; color:#444444; }
    </style>
    
    <script type="text/javascript">
        function validate(form)
        {
            fail=validateForename(form.forename.value)
            fail+=validateSurname(form.surname.value)
            fail+=validateUsername(form.username.value)
            fail+=validatePassword(form.password.value)
            fail+=validateAge(form.age.value)
            fail+=validateEmail(form.email.value)
            if(fail=="")return true
            else { alert(fail);return false}
        }
     </script>
</head>
<body>
    <table class="signup" border="0" cellpadding="2" cellspacing="5" bgcolor="#eeeeee">
        <th colspan="2" align="center"> Регистрационная форма </th>
        <form method="post" action="adduser.php" onsubmit="return validate(this)">
            <tr><td> Имя </td><td><input type="text" maxlength="32" name="forename" /></td></tr>
            <tr><td> Фамилия </td><td><input type="text" maxlength="32" name="surname" /></td></tr>
            <tr><td> Логин </td><td><input type="text" maxlength="16" name="username" /></td></tr>
            <tr><td> Пароль </td><td><input type="text" maxlength="12" name="password" /></td></tr>
            <tr><td> Возраст </td><td><input type="text" maxlength="3" name="age" /></td></tr>
            <tr><td> Почта </td><td><input type="text" maxlength="64" name="email" /></td></tr>
            <tr><td colspan="2" align="center"><input type="submit" value="Зарегистрироваться" /></td>
     </tr></form></table>

    <script type="text/javascript">
        function validateForename(field)
        {
            if(field=="")return "Не введено имя.\n"
            return ""
        }
        function validateSurname(field)
        {
            if(field=="")return "Не введена фамилия.\n"
            return ""
        }
        function validateUsername(field)
        {
            if(field=="")return "Не введено имя пользователя.\n"
            else if(field.length < 5)
                return "В имени пользователя должно быть не менее 5 символов.\n"
            else if(/[^a-zA-Z0-9_-]/.test(field))
                return "В имени пользователя разрешены только a-z.A-Z.0-9.-и _.\n"
            return ""
        }
        function validatePassword(field)
        {
            if(field=="")return "Не введен пароль.\n"
            else if(field.length < 6)
                return "В пароле должно быть не менее 6 символов.\n"
            else if(!/[a-z]/.test(field) || !/[A-Z]/.test(field) || !/[0-9]/.test(field))
                return "Пароль требует 1 символа из каждого набора a-z.A-Z.0-9.\n"
            return ""
        }
        function validateAge(field)
        {
            if(isNaN(field))return "Не введен возраст.\n"
            else if(field < 18 || field > 110)
                return "Возраст должен быть между 18 и 110.\n"
            return ""
        }
        function validateEmail(field)
        {
            if(field=="")return "Не введен адрес электронной почты.\n"
            else if(!((field.indexOf(".") > 0) && (field.indexOf("@") > 0)) || /[^a-zA-Z0-9.@_-]/.test(field))
                return "Электронный адрес имеет неверный формат.\n"
            return ""
        }                
    </script>
</body></html>

Back to Top