password and confirm password validation in react js code example

Example: confirm password validation page recat

import React from 'react';  class DemoForm extends React.Component {    constructor() {    super();    this.state = {      input: {},      errors: {}    };         this.handleChange = this.handleChange.bind(this);    this.handleSubmit = this.handleSubmit.bind(this);  }       handleChange(event) {    let input = this.state.input;    input[event.target.name] = event.target.value;      this.setState({      input    });  }       handleSubmit(event) {    event.preventDefault();      if(this.validate()){        console.log(this.state);          let input = {};        input["name"] = "";        input["email"] = "";        input["password"] = "";        input["confirm_password"] = "";        this.setState({input:input});          alert('Demo Form is submited');    }  }    validate(){      let input = this.state.input;      let errors = {};      let isValid = true;        if (!input["name"]) {        isValid = false;        errors["name"] = "Please enter your name.";      }        if (!input["email"]) {        isValid = false;        errors["email"] = "Please enter your email Address.";      }        if (typeof input["email"] !== "undefined") {                  var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);        if (!pattern.test(input["email"])) {          isValid = false;          errors["email"] = "Please enter valid email address.";        }      }        if (!input["password"]) {        isValid = false;        errors["password"] = "Please enter your password.";      }        if (!input["confirm_password"]) {        isValid = false;        errors["confirm_password"] = "Please enter your confirm password.";      }        if (typeof input["password"] !== "undefined" && typeof input["confirm_password"] !== "undefined") {                  if (input["password"] != input["confirm_password"]) {          isValid = false;          errors["password"] = "Passwords don't match.";        }      }         this.setState({        errors: errors      });        return isValid;  }       render() {    return (      <div>        <h1>React Password and Confirm Password Validation Example - ItSolutionStuff.com</h1>        <form onSubmit={this.handleSubmit}>            <div class="form-group">            <label for="name">Name:</label>            <input               type="text"               name="name"               value={this.state.input.name}              onChange={this.handleChange}              class="form-control"               placeholder="Enter name"               id="name" />                <div className="text-danger">{this.state.errors.name}</div>          </div>            <div class="form-group">            <label for="email">Email Address:</label>            <input               type="text"               name="email"               value={this.state.input.email}              onChange={this.handleChange}              class="form-control"               placeholder="Enter email"               id="email" />                <div className="text-danger">{this.state.errors.email}</div>          </div>             <div class="form-group">            <label for="password">Password:</label>            <input               type="password"               name="password"               value={this.state.input.password}              onChange={this.handleChange}              class="form-control"               placeholder="Enter password"               id="password" />                <div className="text-danger">{this.state.errors.password}</div>          </div>            <div class="form-group">            <label for="password">Confirm Password:</label>            <input               type="password"               name="confirm_password"               value={this.state.input.confirm_password}              onChange={this.handleChange}              class="form-control"               placeholder="Enter confirm password"               id="confirm_password" />                <div className="text-danger">{this.state.errors.confirm_password}</div>          </div>                        <input type="submit" value="Submit" class="btn btn-success" />        </form>      </div>    );  }}  export default DemoForm;