mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-24 00:43:20 +01:00
one letter name-part in email address failed validation, eg. "x@egroupware.org"
This commit is contained in:
parent
d1edc5f474
commit
5668f9b04a
@ -48,7 +48,7 @@ var et2_url = (function(){ "use strict"; return et2_textbox.extend(
|
|||||||
*
|
*
|
||||||
* Same preg is in Etemplate\Widget\Url PHP class!
|
* Same preg is in Etemplate\Widget\Url PHP class!
|
||||||
*/
|
*/
|
||||||
EMAIL_PREG: new RegExp(/^(([^\042',<][^,<]+|\042[^\042]+\042|\'[^\']+\'|"(?:[^"\\]|\\.)*")\s?<)?[^\x00-\x20()<>@,;:\042\[\]\x80-\xff]+[^.\s]@([a-z0-9ÄÖÜäöüß](|[a-z0-9ÄÖÜäöüß_-]*[a-z0-9ÄÖÜäöüß])\.)+[a-z]{2,}>?$/i),
|
EMAIL_PREG: new RegExp(/^(([^\042',<][^,<]+|\042[^\042]+\042|\'[^\']+\'|"(?:[^"\\]|\\.)*")\s?<)?[^\x00-\x20()<>@,;:\042\[\]\x80-\xff]+[^.\s]?@([a-z0-9ÄÖÜäöüß](|[a-z0-9ÄÖÜäöüß_-]*[a-z0-9ÄÖÜäöüß])\.)+[a-z]{2,}>?$/i),
|
||||||
/**
|
/**
|
||||||
* @memberOf et2_url
|
* @memberOf et2_url
|
||||||
*/
|
*/
|
||||||
|
@ -42,7 +42,7 @@ class Url extends Etemplate\Widget
|
|||||||
*
|
*
|
||||||
* Same preg is in et2_widget_url Javascript class, but no \x00 allowed and /u modifier for utf8!
|
* Same preg is in et2_widget_url Javascript class, but no \x00 allowed and /u modifier for utf8!
|
||||||
*/
|
*/
|
||||||
const EMAIL_PREG = "/^(([^\042',<][^,<]+|\042[^\042]+\042|\'[^\']+\'|)\s?<)?[^\x01-\x20()<>@,;:\042\[\]]+[^.\s]@([a-z0-9ÄÖÜäöüß](|[a-z0-9ÄÖÜäöüß_-]*[a-z0-9ÄÖÜäöüß])\.)+[a-z]{2,}>?$/iu";
|
const EMAIL_PREG = "/^(([^\042',<][^,<]+|\042[^\042]+\042|\'[^\']+\'|)\s?<)?[^\x01-\x20()<>@,;:\042\[\]]+[^.\s]?@([a-z0-9ÄÖÜäöüß](|[a-z0-9ÄÖÜäöüß_-]*[a-z0-9ÄÖÜäöüß])\.)+[a-z]{2,}>?$/iu";
|
||||||
|
|
||||||
// allow private IP addresses (starting with 10.|169.254.|192.168.) too
|
// allow private IP addresses (starting with 10.|169.254.|192.168.) too
|
||||||
//const URL_PREG = '_^(?:(?:https?|ftp)://)?(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(localhost)|(?:(?:[a-z\x{00a1}-\x{ffff}0-9]+-?)*[a-z\x{00a1}-\x{ffff}0-9]+)(?:\.(?:[a-z\x{00a1}-\x{ffff}0-9]+-?)*[a-z\x{00a1}-\x{ffff}0-9]+)*(?:\.(?:[a-z\x{00a1}-\x{ffff}]{2,})))(?::\d{2,5})?(?:/[^\s]*)?$_iuS';
|
//const URL_PREG = '_^(?:(?:https?|ftp)://)?(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(localhost)|(?:(?:[a-z\x{00a1}-\x{ffff}0-9]+-?)*[a-z\x{00a1}-\x{ffff}0-9]+)(?:\.(?:[a-z\x{00a1}-\x{ffff}0-9]+-?)*[a-z\x{00a1}-\x{ffff}0-9]+)*(?:\.(?:[a-z\x{00a1}-\x{ffff}]{2,})))(?::\d{2,5})?(?:/[^\s]*)?$_iuS';
|
||||||
|
@ -68,6 +68,7 @@ class UrlEmailTest extends \EGroupware\Api\Etemplate\WidgetBaseTest
|
|||||||
array('email@domain.name'), // .name is valid Top Level Domain name
|
array('email@domain.name'), // .name is valid Top Level Domain name
|
||||||
array('email@domain.co.jp'), // Dot in Top Level Domain name also considered valid (use co.jp as example here)
|
array('email@domain.co.jp'), // Dot in Top Level Domain name also considered valid (use co.jp as example here)
|
||||||
array('firstname-lastname@domain.com'), // Dash in address field is valid
|
array('firstname-lastname@domain.com'), // Dash in address field is valid
|
||||||
|
array('x@egroupware.org'), // one letter name-part is valid, but failed validation before
|
||||||
|
|
||||||
// Supposedly valid, but we don't
|
// Supposedly valid, but we don't
|
||||||
// array('"email"@domain.com'), // Quotes around email is considered valid
|
// array('"email"@domain.com'), // Quotes around email is considered valid
|
||||||
|
Loading…
Reference in New Issue
Block a user