diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php
index 49fd2bd363934dc8976bff24d21e516585e0e1a6..79f040bf1bedc2e8f2a6072b9880351974dad538 100644
--- a/interface/lib/classes/tform.inc.php
+++ b/interface/lib/classes/tform.inc.php
@@ -734,7 +734,7 @@ class tform {
                                         }
                                 break;
                                 case 'ISEMAIL':
-                                        if(!preg_match("/^\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\w+\.[a-z]{2,10}$/i", $field_value)) {
+                                        if(!preg_match("/^\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\w+\.[a-z\-]{2,10}$/i", $field_value)) {
                                                 $errmsg = $validator['errmsg'];
                                                 if(isset($this->wordbook[$errmsg])) {
                                                     $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
diff --git a/interface/web/dns/dns_wizard.php b/interface/web/dns/dns_wizard.php
index fd2f9d6faf96d7436256bbac8f31ca19795a1194..0fb549810d56b7f669c3c0be996421db95cbb0b0 100644
--- a/interface/web/dns/dns_wizard.php
+++ b/interface/web/dns/dns_wizard.php
@@ -138,10 +138,10 @@ if($_POST['create'] == 1) {
 	if(isset($_POST['ns2']) && $_POST['ns2'] == '') $error .= $app->lng('error_ns2_empty').'<br />';
 	if(isset($_POST['email']) && $_POST['email'] == '') $error .= $app->lng('error_email_empty').'<br />';
 	
-	if(isset($_POST['domain']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z]{2,10}[\.]{0,1}$/',$_POST['domain'])) $error .= $app->lng('error_domain_regex').'<br />';
+	if(isset($_POST['domain']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z\-]{2,10}[\.]{0,1}$/',$_POST['domain'])) $error .= $app->lng('error_domain_regex').'<br />';
 	if(isset($_POST['ns1']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z]{2,10}[\.]{0,1}$/',$_POST['ns1'])) $error .= $app->lng('error_ns1_regex').'<br />';
 	if(isset($_POST['ns2']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z]{2,10}[\.]{0,1}$/',$_POST['ns2'])) $error .= $app->lng('error_ns2_regex').'<br />';
-	if(isset($_POST['email']) && !preg_match('/^\w+[\w.-]*\w+@\w+[\w.-]*\w+\.[a-z]{2,10}$/i',$_POST['email'])) $error .= $app->lng('error_email_regex').'<br />';
+	if(isset($_POST['email']) && !preg_match('/^\w+[\w.-]*\w+@\w+[\w.-]*\w+\.[a-z\-]{2,10}$/i',$_POST['email'])) $error .= $app->lng('error_email_regex').'<br />';
 	
 	// make sure that the record belongs to the clinet group and not the admin group when a dmin inserts it
 	if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($_POST['client_group_id'])) {
diff --git a/interface/web/dns/form/dns_soa.tform.php b/interface/web/dns/form/dns_soa.tform.php
index 66ac1031dd3e38cdb4b53d557ad0b1714817493c..c5f6f31a7099b0eb086d226e8ee412bfeabe9123 100644
--- a/interface/web/dns/form/dns_soa.tform.php
+++ b/interface/web/dns/form/dns_soa.tform.php
@@ -82,7 +82,7 @@ $form["tabs"]['dns_soa'] = array (
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'origin_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-\/]{2,255}\.[a-zA-Z]{2,10}[\.]{0,1}$/',
+														'regex' => '/^[\w\.\-\/]{2,255}\.[a-zA-Z\-]{2,10}[\.]{0,1}$/',
 														'errmsg'=> 'origin_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/domain/form/domain.tform.php b/interface/web/domain/form/domain.tform.php
index 9cd54228445e91c8fb50dfa1d194f67c38d1fdd5..2617fc23b55bb779423e3134ce882cff09215938 100644
--- a/interface/web/domain/form/domain.tform.php
+++ b/interface/web/domain/form/domain.tform.php
@@ -93,7 +93,7 @@ $form["tabs"]['domain'] = array (
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'domain_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z]{2,10}$/',
+														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/',
 														'errmsg'=> 'domain_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/mail/form/mail_aliasdomain.tform.php b/interface/web/mail/form/mail_aliasdomain.tform.php
index ae06013d97ddd39b16b0cb4068bde9bf8742cc4d..026d0aa6e9bd6f11dc921727d6e2dd6b3e5301c4 100644
--- a/interface/web/mail/form/mail_aliasdomain.tform.php
+++ b/interface/web/mail/form/mail_aliasdomain.tform.php
@@ -74,7 +74,7 @@ $form["tabs"]['alias'] = array (
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'source_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^\@[\w\.\-]{2,64}\.[a-zA-Z]{2,10}$/',
+														'regex' => '/^\@[\w\.\-]{2,64}\.[a-zA-Z\-]{2,10}$/',
 														'errmsg'=> 'source_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/mail/form/mail_domain.tform.php b/interface/web/mail/form/mail_domain.tform.php
index 98983c2c15f4bdd29523b48a46b5e2f068305120..5f8c51fe5b6142d98229992f434dd247eb9408ec 100644
--- a/interface/web/mail/form/mail_domain.tform.php
+++ b/interface/web/mail/form/mail_domain.tform.php
@@ -77,7 +77,7 @@ $form["tabs"]['domain'] = array (
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'domain_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z]{2,10}$/',
+														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/',
 														'errmsg'=> 'domain_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/mail/form/mail_domain_catchall.tform.php b/interface/web/mail/form/mail_domain_catchall.tform.php
index 85c2f96c5643ba7a1dbc691ca5aa13ea9e550174..120466b59c580aac0a413db46dc80369e74c8500 100644
--- a/interface/web/mail/form/mail_domain_catchall.tform.php
+++ b/interface/web/mail/form/mail_domain_catchall.tform.php
@@ -74,7 +74,7 @@ $form["tabs"]['catchall'] = array (
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'domain_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^\@[\w\.\-]{2,255}\.[a-zA-Z]{2,10}$/',
+														'regex' => '/^\@[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/',
 														'errmsg'=> 'domain_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/mail/form/mail_get.tform.php b/interface/web/mail/form/mail_get.tform.php
index d25167a36752b692751aaa5d603445782f3be742..13b963d98dc74634009c15cc696213a9d6d0bf9b 100644
--- a/interface/web/mail/form/mail_get.tform.php
+++ b/interface/web/mail/form/mail_get.tform.php
@@ -81,7 +81,7 @@ $form["tabs"]['mailget'] = array (
 			'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
 														'errmsg'=> 'source_server_error_isempty'),
 										1 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{2,64}\.[a-zA-Z]{2,10}$/',
+														'regex' => '/^[\w\.\-]{2,64}\.[a-zA-Z\-]{2,10}$/',
 														'errmsg'=> 'source_server_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/mail/form/mail_user.tform.php b/interface/web/mail/form/mail_user.tform.php
index 06fa18a230a023aab0753adc5fe76fcd3325b2d4..6cb792ac6dfccf9642d38ca7d454766803b4ff26 100644
--- a/interface/web/mail/form/mail_user.tform.php
+++ b/interface/web/mail/form/mail_user.tform.php
@@ -114,7 +114,7 @@ $form["tabs"]['mailuser'] = array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
 			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
-														'regex' => '/^(\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\w+\.[a-z]{2,10}){0,1}$/i',
+														'regex' => '/^(\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\w+\.[a-z\-]{2,10}){0,1}$/i',
 														'errmsg'=> 'cc_error_isemail'),
 									),
 			'default'	=> '',
diff --git a/interface/web/sites/form/web_aliasdomain.tform.php b/interface/web/sites/form/web_aliasdomain.tform.php
index ff11da53d7d71121dfd7fda27c11a0466677e5ff..e8ed0b3c8f18a90c8133dcead7c96cf65b957526 100644
--- a/interface/web/sites/form/web_aliasdomain.tform.php
+++ b/interface/web/sites/form/web_aliasdomain.tform.php
@@ -77,7 +77,7 @@ $form["tabs"]['domain'] = array (
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'domain_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z]{2,10}$/',
+														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/',
 														'errmsg'=> 'domain_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php
index a21a4850d8ac8b331f64e00f3334c52778142f43..09d34d3c9109ea90254e1f2a5da37d47844549c1 100644
--- a/interface/web/sites/form/web_domain.tform.php
+++ b/interface/web/sites/form/web_domain.tform.php
@@ -97,7 +97,7 @@ $form["tabs"]['domain'] = array (
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'domain_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z]{2,10}$/',
+														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/',
 														'errmsg'=> 'domain_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/sites/form/web_subdomain.tform.php b/interface/web/sites/form/web_subdomain.tform.php
index 0416387299ec369d04f054959d43c46d4afd0005..f81ee8d5530095ab9fc434677f8c68d38ac7eb02 100644
--- a/interface/web/sites/form/web_subdomain.tform.php
+++ b/interface/web/sites/form/web_subdomain.tform.php
@@ -77,7 +77,7 @@ $form["tabs"]['domain'] = array (
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'domain_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z]{2,10}$/',
+														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/',
 														'errmsg'=> 'domain_error_regex'),
 									),
 			'default'	=> '',