[pLog-svn] r3920 - plog/trunk/class/data/validator/rules
mark at devel.lifetype.net
mark at devel.lifetype.net
Tue Aug 29 16:18:34 GMT 2006
Author: mark
Date: 2006-08-29 16:18:33 +0000 (Tue, 29 Aug 2006)
New Revision: 3920
Modified:
plog/trunk/class/data/validator/rules/emailformatrule.class.php
Log:
Fixed a bug http://bugs.lifetype.net/view.php?id=1022.
The original e-mail validator from PEAR, does not allow 163.com or 126.com. So, we have to tweak the original regexp to get it work.
Still have no time write a e-mail unit test. :(
Modified: plog/trunk/class/data/validator/rules/emailformatrule.class.php
===================================================================
--- plog/trunk/class/data/validator/rules/emailformatrule.class.php 2006-08-29 15:01:17 UTC (rev 3919)
+++ plog/trunk/class/data/validator/rules/emailformatrule.class.php 2006-08-29 16:18:33 UTC (rev 3920)
@@ -32,17 +32,17 @@
*/
function validate($value)
{
-
- // the base regexp for address
- $regex = '&^(?: # recipient:
- ("\s*(?:[^"\f\n\r\t\v\b\s]+\s*)+")| #1 quoted name
- ([-\w!\#\$%\&\'*+~/^`|{}]+(?:\.[-\w!\#\$%\&\'*+~/^`|{}]+)*)) #2 OR dot-atom
- @(((\[)? #3 domain, 4 as IPv4, 5 optionally bracketed
- (?:(?:(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:[0-1]?[0-9]?[0-9]))\.){3}
- (?:(?:25[0-5])|(?:2[0-4][0-9])|(?:[0-1]?[0-9]?[0-9]))))(?(5)\])|
- ((?:[a-z0-9](?:[-a-z0-9]*[a-z0-9])?\.)*[a-z](?:[-a-z0-9]*[a-z0-9])?)) #6 domain as hostname
- \.((?:[a-z]*[a-z])?) #7 ICANN domain names
- $&xi';
+ // the base regexp for address
+ // I get these code from PEAR::Validate v0.64
+ $regex = '&^(?: # recipient:
+ ("\s*(?:[^"\f\n\r\t\v\b\s]+\s*)+")| #1 quoted name
+ ([-\w!\#\$%\&\'*+~/^`|{}]+(?:\.[-\w!\#\$%\&\'*+~/^`|{}]+)*)) #2 OR dot-atom
+ @(((\[)? #3 domain, 4 as IPv4, 5 optionally bracketed
+ (?:(?:(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:[0-1]?[0-9]?[0-9]))\.){3}
+ (?:(?:25[0-5])|(?:2[0-4][0-9])|(?:[0-1]?[0-9]?[0-9]))))(?(5)\])|
+ ((?:[a-z0-9](?:[-a-z0-9]*[a-z0-9])?\.)*[a-z0-9](?:[-a-z0-9]*[a-z0-9])?) #6 domain as hostname
+ \.((?:([^-])[-a-z]*[-a-z])?)) #7 ICANN domain names
+ $&xi';
if( preg_match($regex, $value) ){
$this->_setError(false);
More information about the pLog-svn
mailing list