Source

validation.js

/** @module Validation */

/**
 * validate email-address via regex
 * source https://emailregex.com/
 * @author Jeroen Rijkse <jeroen@notanumber.digital>
 * @param {string} email emailaddress to validate
 * @example
 * import { isEmailValid } from "nan-design-system/utils";
 * const valid = isEmailValid("jeroen@notanumber.digital"); //returns a boolean
 * @returns {boolean} return whether email-address is valid
 */

export function isEmailValid(email){
    const emailRegex =
    /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/;
    return emailRegex.test(email);
  }