JS -- add function eMailValidate used to validate an email address
This commit is contained in:
parent
b194c820bf
commit
f94269c0d1
@ -37,6 +37,14 @@ class AForm {
|
|||||||
"m/d/yy HH:MM",
|
"m/d/yy HH:MM",
|
||||||
];
|
];
|
||||||
this._timeFormats = ["HH:MM", "h:MM tt", "HH:MM:ss", "h:MM:ss tt"];
|
this._timeFormats = ["HH:MM", "h:MM tt", "HH:MM:ss", "h:MM:ss tt"];
|
||||||
|
|
||||||
|
// The e-mail address regex below originates from:
|
||||||
|
// https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address
|
||||||
|
this._emailRegex = new RegExp(
|
||||||
|
"^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+" +
|
||||||
|
"@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?" +
|
||||||
|
"(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
_parseDate(cFormat, cDate) {
|
_parseDate(cFormat, cDate) {
|
||||||
@ -577,6 +585,10 @@ class AForm {
|
|||||||
this.AFDate_KeystrokeEx(this._timeFormats[pdf]);
|
this.AFDate_KeystrokeEx(this._timeFormats[pdf]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
eMailValidate(str) {
|
||||||
|
return this._emailRegex.test(str);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export { AForm };
|
export { AForm };
|
||||||
|
@ -92,7 +92,7 @@ function initSandbox({ data, extra, out }) {
|
|||||||
out.zoomtype = ZoomType;
|
out.zoomtype = ZoomType;
|
||||||
|
|
||||||
for (const name of Object.getOwnPropertyNames(AForm.prototype)) {
|
for (const name of Object.getOwnPropertyNames(AForm.prototype)) {
|
||||||
if (name.startsWith("AF")) {
|
if (name !== "constructor" && !name.startsWith("_")) {
|
||||||
out[name] = aform[name].bind(aform);
|
out[name] = aform[name].bind(aform);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1202,5 +1202,21 @@ describe("Scripting", function () {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("eMailValidate", function () {
|
||||||
|
it("should validate an e-mail address", function (done) {
|
||||||
|
Promise.all([
|
||||||
|
myeval(`eMailValidate(123)`).then(value => {
|
||||||
|
expect(value).toEqual(false);
|
||||||
|
}),
|
||||||
|
myeval(`eMailValidate("foo@bar.com")`).then(value => {
|
||||||
|
expect(value).toEqual(true);
|
||||||
|
}),
|
||||||
|
myeval(`eMailValidate("foo bar")`).then(value => {
|
||||||
|
expect(value).toEqual(false);
|
||||||
|
}),
|
||||||
|
]).then(() => done());
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user