π A modern, fully responsive signup form built with HTML, CSS, and JavaScript, featuring real-time form validation, password generation, and a beautiful, user-friendly interface.
Demo of the Signup Form in Action: This GIF showcases the form filling process, including validation and error handling.
π Try the Live Demo
-
β Form Validation:
- π€ Name: Only allows uppercase, lowercase letters, and spaces.
- π§ Email: Supports standard formats like
name@domain.com
orname@domain.bd
. - π± Phone: Supports Bangladeshi mobile number formats:
+8801793614417
,8801939409322
,01981504997
. - π Password: Ensures password strength with rules:
- At least one uppercase letter.
- At least one lowercase letter.
- At least one number.
- At least one special character.
- Minimum length: 8 characters.
- π LinkedIn Profile: Validates LinkedIn profile URLs like
https://www.linkedin.com/in/your-profile/
.
-
π Password Generator: Automatically generates a secure, 12-character password using ASCII values.
-
πͺ Password Strength Indicator: Displays strength (weak, medium, strong) based on compliance with password rules.
-
π¨ Modern UI/UX: A beautiful and responsive design focused on user experience.
-
β‘ Real-time Error Handling:
- Shows error messages for invalid inputs.
- Automatically hides errors when the user starts typing.
-
π Success Page: After successful validation, a success page is displayed, with an option to return to the signup page.
-
π± Fully Responsive: Works seamlessly on mobile, tablet, and desktop devices.
Input Field | Validation Rule | Regular Expression |
---|---|---|
Name | Only uppercase, lowercase letters, and spaces. | /^[a-zA-Z ]+$/ |
Lowercase letters, hyphen, numbers, @ , and dots. |
/^[a-z\d-]+@[a-z\.]+\.[a-z]+$/ |
|
Phone (Bangladesh) | Format: +88 or 88 , followed by 01 , next digit 3-9 , 8 more digits. |
/^\+?(88)?(01)[3-9]\d{8}$/ |
Password | At least one uppercase, lowercase, digit, and special character. | /^(?=.*[a-z])(?=.*[A-Z])(?=.*[\d])(?=.*[\!"#$%&'\(\)\*\+,-\/:;\<\>\?@ {}|~[]^.\_]).{8,}$/` |
LinkedIn Profile URL | Only valid LinkedIn profile URLs. | /^https:\/\/www\.linkedin\.com\/in\/[a-z\-]+\/$/ |
π The Password Generator feature creates strong, secure passwords tailored to your needs! Hereβs what it offers:
- π’ Length: 12 characters for enhanced security.
- π Complexity: Includes at least one:
- Uppercase letter (A-Z)
π °οΈ - Lowercase letter (a-z)
π ±οΈ - Digit (0-9) 0οΈβ£
- Special character (e.g., !@#$%^&*) β¨
- Uppercase letter (A-Z)
- Ensures adherence to all password rules for maximum security.
π» Example: By clicking the "Generate Password" button, the password field is automatically filled with a randomly generated, secure password.
π The Password Strength Indicator evaluates the password based on the following criteria:
- Strong πͺ: Meets all validation rules.
- Medium π‘: Missing at least 1 rule.
- Weak π΄: Missing all rules.
-
Clone the repository:
git clone https://github.com/Abdur-Rahman-Apu/Signup-form.git
-
Open the index.html file in your browser π₯οΈ
-
Fill in the form: π
- The form validates inputs in real-time.β±οΈ
- Error messages are shown for invalid inputs.β
-
Generate a secure password using the "Generate Password" button. π
-
Submit the form and, if all inputs are valid, you'll be redirected to the success page. β
Overcoming challenges is part of the journey! Here are some key obstacles I tackled during this project:
-
π Password Generation: Developed a robust password generator that utilizes ASCII characters to create strong passwords.
-
πͺ Password Strength Evaluation: Implemented a real-time strength checker that evaluates password strength as users type, ensuring compliance with security rules.
-
βοΈ Event Handling: Mastered event handling by manually triggering input events using
dispatchEvent
, allowing for seamless handling of dynamic changes in the form.
Our sign up form is fully responsive, ensuring a seamless experience across all devices! π
- Adaptive Layout: The form adjusts beautifully to different screen sizes, making it user-friendly on:
- Desktops π»
- Tablets π±
- Mobile Devices π²
Experience optimal usability whether you're at home, in the office, or on the go! π
- A special thanks to JavaScript Ninja Bootcamp for inspiring this project.
- Documentation: MDN Web Docs for providing excellent documentation.
- Design Inspiration: Dribbble for creative design ideas.
- Fonts: Google Fonts for a wide selection of fonts.
- Icons: FontAwesome for beautiful icons.
- Troubleshooting & Guidance: Stack Overflow for valuable community support.
This project is licensed under the MIT License.
See the LICENSE file for details on usage and distribution.
- LinkedIn: Connect with me!
- GitHub: View my projects
For any inquiries, suggestions, or feedback, please reach out via email:
abdurrahmany418@gmail.com
You can also connect with me on LinkedIn
- Implement a back-end server for storing user data.
- Enhance accessibility features for better user experience.
If you like this project, please β the repository!