Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
158
rated 0 times [  164] [ 6]  / answers: 1 / hits: 65949  / 7 Years ago, fri, september 22, 2017, 12:00:00

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);
}
);
}
}

More From » angular

 Answers
8

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,}))$/);

[#56410] Wednesday, September 20, 2017, 7 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
ellisc

Total Points: 533
Total Questions: 82
Total Answers: 90

Location: Bangladesh
Member since Thu, Aug 5, 2021
3 Years ago
ellisc questions
Mon, Nov 15, 21, 00:00, 3 Years ago
Sat, Jun 26, 21, 00:00, 3 Years ago
Mon, Nov 16, 20, 00:00, 4 Years ago
Sun, Apr 26, 20, 00:00, 4 Years ago
;