How to do Email validation using Regular expression in Typescript

50,046

Problem is with the regex format given. Give it without quotes (') like this

regexp = new RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
Share:
50,046
user3301440
Author by

user3301440

Updated on June 15, 2020

Comments

  • user3301440
    user3301440 almost 4 years

    I have an requirement to validate email and date fields from an Excel file using typescript Angular app.

    And I am trying to validate using regular expression but the result returns always false for a correct email address.

    Can anyone help me to validate the email and dates?

    Below is the code I have written

    Component:

    import {  Component } from '@angular/core';
    import * as FileSaver from 'file-saver';
    import * as XLSX from 'xlsx';
    import {UploadService} from '../services//upload.service';
    
    
    import { FileUploader ,FileItem,ParsedResponseHeaders,FileLikeObject} from 'ng2-file-upload';
    
    import { SpotCheck } from '../models/SpotCheckFields';  
    
    @Component ({  
        selector: 'my-app',  
        templateUrl:'./excelUpload.html',
        providers:[UploadService]
    })  
    
    export class ExcelUploadComponent  { 
    
        public SpotChecklist: SpotCheck[];
        public project_master:any[];
    
        uploader:FileUploader;
    
        constructor(private uploadservice: UploadService ){
            this.SpotChecklist=[];
            this.project_master=[];
        }
        ngOnInit(): void {
            this.uploader = new FileUploader({
                url: 'http://localhost:5000/upload'
                // headers: [{name:'Accept', value:'application/json'}],
                // autoUpload: true,
            });
            this.uploader.onErrorItem = (item, response, status, headers) => this.onErrorItem(item, response, status, headers);
            this.uploader.onSuccessItem = (item, response, status, headers) => this.onSuccessItem(item, response, status, headers);
    
            // retrieve projectmaster details
            this.getProjectMaster("","SELECT PROJECT MASTER");
        }
    
        onSuccessItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {
            //console.log("onSuccessItem " + status, response, item);  
            this.SpotChecklist = JSON.parse(response); //success server response
    
            var data = this.validateRow(this.SpotChecklist);
    
            console.log(data);  
        }
    
        onErrorItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {
            let error = JSON.parse(response); //error server response
        }
    
        validateRow(lst:any[]) : SpotCheck[]
        {
            var i:number;
            for(i=0;i<lst.length ;i++)
            {
                var validation_message:string="";
                var blnErrOccured:boolean=false;
    
                if(!this.isEmail(lst[i].RESPONSIBLE_PERSON_EMAIL_ID))
                {
                    validation_message=validation_message+ "," +"RESPONSIBLE_PERSON_EMAIL_ID is invalid"
                    blnErrOccured=true;
                }
    
                lst[i].VALIDATION_RESULT=validation_message;
            }
            return lst;
        }
    
        isDate(date:string) {
            // return (new Date(date) !== "Invalid Date") && !isNaN(new Date(date));
        }
    
        isEmail(search:string):boolean
        {
            var  serchfind:boolean;
    
            regexp = new RegExp('/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/');
    
            serchfind = regexp.test(search);
    
            console.log(serchfind)
            return serchfind
        }
    
        getProjectMaster(project_code:string,Flag:string):any
        {  
            this.uploadservice.getProjectMaster(project_code,Flag).subscribe(
                response=> {
                    this.project_master= response[0];
                    return response;
                },
                error=> {
                    console.log("ERROR: ",error);
                    console.log(error.json()); //gives the object object
                },
                () => {
                    console.log("Completed");
                }
            );
        }
    }