1,10 → 1,10 |
<?xml version="1.0" encoding="utf-8"?> |
|
<?xml version="1.0" encoding="utf-8" standalone="no"?> |
<!DOCTYPE tests> |
<!-- |
Source: http://isemail.googlecode.com/svn/trunk/tests/tests.xml |
--> |
|
<tests version="1.10"> |
<tests xmlns="http://www.w3.org/2001/XMLSchema-instance" |
SchemaLocation="mailValidatorTests.xsd"> |
<test> |
<address>first.last@example.com</address> |
<valid>true</valid> |
13,7 → 13,8 |
<id>1</id> |
</test> |
<test> |
<address>1234567890123456789012345678901234567890123456789012345678901234@example.com</address> |
<address>1234567890123456789012345678901234567890123456789012345678901234@example.com |
</address> |
<valid>true</valid> |
<source>Dominic Sayers</source> |
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
22,7 → 23,8 |
<test> |
<address>first.last@sub.do,com</address> |
<valid>false</valid> |
<comment>Mistyped comma instead of dot (replaces old #3 which was the same as #57)</comment> |
<comment>Mistyped comma instead of dot (replaces old #3 which was the |
same as #57)</comment> |
<source>Rob <bob@bob.com></source> |
<id>3</id> |
</test> |
56,19 → 58,24 |
<id>7</id> |
</test> |
<test> |
<address>x@x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x2</address> |
<address>x@x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x2 |
</address> |
<valid>true</valid> |
<comment>Total length reduced to 254 characters so it's still valid</comment> |
<comment>Total length reduced to 254 characters so it's still valid |
</comment> |
<source>Dominic Sayers</source> |
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
<id>8</id> |
</test> |
<test> |
<address>1234567890123456789012345678901234567890123456789012345678@12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.123456789012345678901234567890123456789012345678901234567890123.example.com</address> |
<address>1234567890123456789012345678901234567890123456789012345678@12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.123456789012345678901234567890123456789012345678901234567890123.example.com |
</address> |
<valid>true</valid> |
<comment>Total length reduced to 254 characters so it's still valid</comment> |
<comment>Total length reduced to 254 characters so it's still valid |
</comment> |
<source>RFC 3696 erratum 1690</source> |
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=1690</sourcelink> |
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=1690 |
</sourcelink> |
<id>9</id> |
</test> |
<test> |
75,7 → 82,8 |
<address>first.last@[12.34.56.78]</address> |
<valid>true</valid> |
<source>RFC 3696 erratum 1690</source> |
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=1690</sourcelink> |
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=1690 |
</sourcelink> |
<id>10</id> |
</test> |
<test> |
93,7 → 101,8 |
<id>12</id> |
</test> |
<test> |
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:12.34.56.78]</address> |
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:12.34.56.78] |
</address> |
<valid>true</valid> |
<source>Dominic Sayers</source> |
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
121,7 → 130,8 |
<id>16</id> |
</test> |
<test> |
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888]</address> |
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888] |
</address> |
<valid>true</valid> |
<source>Dominic Sayers</source> |
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
128,7 → 138,8 |
<id>17</id> |
</test> |
<test> |
<address>first.last@x23456789012345678901234567890123456789012345678901234567890123.example.com</address> |
<address>first.last@x23456789012345678901234567890123456789012345678901234567890123.example.com |
</address> |
<valid>true</valid> |
<source>Dominic Sayers</source> |
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
149,11 → 160,13 |
<id>20</id> |
</test> |
<test> |
<address>123456789012345678901234567890123456789012345678901234567890@12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12.example.com</address> |
<address>123456789012345678901234567890123456789012345678901234567890@12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12.example.com |
</address> |
<valid>false</valid> |
<comment>Entire address is longer than 254 characters</comment> |
<source>RFC 3696 erratum 1690</source> |
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=1690</sourcelink> |
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=1690 |
</sourcelink> |
<id>21</id> |
</test> |
<test> |
165,7 → 178,8 |
<id>22</id> |
</test> |
<test> |
<address>12345678901234567890123456789012345678901234567890123456789012345@example.com</address> |
<address>12345678901234567890123456789012345678901234567890123456789012345@example.com |
</address> |
<valid>false</valid> |
<comment>Local part more than 64 characters</comment> |
<source>Dominic Sayers</source> |
253,7 → 267,8 |
<id>33</id> |
</test> |
<test> |
<address>x@x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456</address> |
<address>x@x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456 |
</address> |
<valid>false</valid> |
<comment>Domain exceeds 255 chars</comment> |
<source>Dominic Sayers</source> |
293,7 → 308,8 |
<id>38</id> |
</test> |
<test> |
<address>first.last@[IPv6:1111:2222:3333::4444:5555:12.34.56.78]</address> |
<address>first.last@[IPv6:1111:2222:3333::4444:5555:12.34.56.78] |
</address> |
<valid>false</valid> |
<comment>Too many IPv6 groups (4 max)</comment> |
<source>Dominic Sayers</source> |
301,7 → 317,8 |
<id>39</id> |
</test> |
<test> |
<address>first.last@[IPv6:1111:2222:3333:4444:5555:12.34.56.78]</address> |
<address>first.last@[IPv6:1111:2222:3333:4444:5555:12.34.56.78] |
</address> |
<valid>false</valid> |
<comment>Not enough IPv6 groups</comment> |
<source>Dominic Sayers</source> |
309,7 → 326,8 |
<id>40</id> |
</test> |
<test> |
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:12.34.56.78]</address> |
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:12.34.56.78] |
</address> |
<valid>false</valid> |
<comment>Too many IPv6 groups (6 max)</comment> |
<source>Dominic Sayers</source> |
317,7 → 335,8 |
<id>41</id> |
</test> |
<test> |
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777]</address> |
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777] |
</address> |
<valid>false</valid> |
<comment>Not enough IPv6 groups</comment> |
<source>Dominic Sayers</source> |
325,7 → 344,8 |
<id>42</id> |
</test> |
<test> |
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888:9999]</address> |
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888:9999] |
</address> |
<valid>false</valid> |
<comment>Too many IPv6 groups (8 max)</comment> |
<source>Dominic Sayers</source> |
341,7 → 361,8 |
<id>44</id> |
</test> |
<test> |
<address>first.last@[IPv6:1111:2222:3333::4444:5555:6666:7777]</address> |
<address>first.last@[IPv6:1111:2222:3333::4444:5555:6666:7777] |
</address> |
<valid>false</valid> |
<comment>Too many IPv6 groups (6 max)</comment> |
<source>Dominic Sayers</source> |
397,7 → 418,8 |
<id>51</id> |
</test> |
<test> |
<address>first.last@x234567890123456789012345678901234567890123456789012345678901234.example.com</address> |
<address>first.last@x234567890123456789012345678901234567890123456789012345678901234.example.com |
</address> |
<valid>false</valid> |
<comment>Label can't be longer than 63 octets</comment> |
<source>Dominic Sayers</source> |
415,7 → 437,8 |
<address>"Fred\ Bloggs"@example.com</address> |
<valid>true</valid> |
<source>RFC 3696 (as amended by erratum 2005-07-09)</source> |
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=246</sourcelink> |
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=246 |
</sourcelink> |
<id>54</id> |
</test> |
<test> |
422,7 → 445,8 |
<address>"Joe.\\Blow"@example.com</address> |
<valid>true</valid> |
<source>RFC 3696 (as amended by erratum 2005-07-09)</source> |
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=246</sourcelink> |
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=246 |
</sourcelink> |
<id>55</id> |
</test> |
<test> |
429,7 → 453,8 |
<address>"Abc@def"@example.com</address> |
<valid>true</valid> |
<source>RFC 3696 (as amended by erratum 2005-07-09)</source> |
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=246</sourcelink> |
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=246 |
</sourcelink> |
<id>56</id> |
</test> |
<test> |
484,7 → 509,8 |
<test> |
<address>abc\@def@example.com</address> |
<valid>false</valid> |
<comment>This example from RFC 3696 was corrected in an erratum</comment> |
<comment>This example from RFC 3696 was corrected in an erratum |
</comment> |
<source>Doug Lovell (LinuxJournal, June 2007)</source> |
<sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
<id>64</id> |
492,7 → 518,8 |
<test> |
<address>abc\\@example.com</address> |
<valid>false</valid> |
<comment>This example from RFC 3696 was corrected in an erratum</comment> |
<comment>This example from RFC 3696 was corrected in an erratum |
</comment> |
<source>Doug Lovell (LinuxJournal, June 2007)</source> |
<sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
<id>65</id> |
635,7 → 662,8 |
<valid>true</valid> |
<address>test@example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>83</id> |
</test> |
<test> |
642,7 → 670,8 |
<valid>true</valid> |
<address>TEST@example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>84</id> |
</test> |
<test> |
649,7 → 678,8 |
<valid>true</valid> |
<address>1234567890@example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>85</id> |
</test> |
<test> |
656,7 → 686,8 |
<valid>true</valid> |
<address>test+test@example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>86</id> |
</test> |
<test> |
663,7 → 694,8 |
<valid>true</valid> |
<address>test-test@example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>87</id> |
</test> |
<test> |
670,7 → 702,8 |
<valid>true</valid> |
<address>t*est@example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>88</id> |
</test> |
<test> |
677,7 → 710,8 |
<valid>true</valid> |
<address>+1~1+@example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>89</id> |
</test> |
<test> |
684,7 → 718,8 |
<valid>true</valid> |
<address>{_test_}@example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>90</id> |
</test> |
<test> |
691,7 → 726,8 |
<valid>true</valid> |
<address>"[[ test ]]"@example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>91</id> |
</test> |
<test> |
698,7 → 734,8 |
<valid>true</valid> |
<address>test.test@example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>92</id> |
</test> |
<test> |
705,7 → 742,8 |
<valid>true</valid> |
<address>"test.test"@example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>93</id> |
</test> |
<test> |
713,7 → 751,8 |
<address>test."test"@example.com</address> |
<comment>Obsolete form, but documented in RFC 5322</comment> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>94</id> |
</test> |
<test> |
720,7 → 759,8 |
<valid>true</valid> |
<address>"test@test"@example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>95</id> |
</test> |
<test> |
727,15 → 767,18 |
<valid>true</valid> |
<address>test@123.123.123.x123</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>96</id> |
</test> |
<test> |
<valid>false</valid> |
<address>test@123.123.123.123</address> |
<comment>Top Level Domain won't be all-numeric (see RFC 3696 Section 2). I disagree with Dave Child on this one.</comment> |
<comment>Top Level Domain won't be all-numeric (see RFC 3696 Section |
2). I disagree with Dave Child on this one.</comment> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>97</id> |
</test> |
<test> |
742,7 → 785,8 |
<valid>true</valid> |
<address>test@[123.123.123.123]</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>98</id> |
</test> |
<test> |
749,7 → 793,8 |
<valid>true</valid> |
<address>test@example.example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>99</id> |
</test> |
<test> |
756,7 → 801,8 |
<valid>true</valid> |
<address>test@example.example.example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>100</id> |
</test> |
<test> |
763,7 → 809,8 |
<valid>false</valid> |
<address>test.example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>101</id> |
</test> |
<test> |
770,7 → 817,8 |
<valid>false</valid> |
<address>test.@example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>102</id> |
</test> |
<test> |
777,7 → 825,8 |
<valid>false</valid> |
<address>test..test@example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>103</id> |
</test> |
<test> |
784,7 → 833,8 |
<valid>false</valid> |
<address>.test@example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>104</id> |
</test> |
<test> |
791,7 → 841,8 |
<valid>false</valid> |
<address>test@test@example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>105</id> |
</test> |
<test> |
798,7 → 849,8 |
<valid>false</valid> |
<address>test@@example.com</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>106</id> |
</test> |
<test> |
806,7 → 858,8 |
<address>-- test --@example.com</address> |
<comment>No spaces allowed in local part</comment> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>107</id> |
</test> |
<test> |
814,7 → 867,8 |
<address>[test]@example.com</address> |
<comment>Square brackets only allowed within quotes</comment> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>108</id> |
</test> |
<test> |
822,7 → 876,8 |
<address>"test\test"@example.com</address> |
<comment>Any character can be escaped in a quoted string</comment> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>109</id> |
</test> |
<test> |
830,7 → 885,8 |
<address>"test"test"@example.com</address> |
<comment>Quotes cannot be nested</comment> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>110</id> |
</test> |
<test> |
838,7 → 894,8 |
<address>()[]\;:,><@example.com</address> |
<comment>Disallowed Characters</comment> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>111</id> |
</test> |
<test> |
846,7 → 903,8 |
<comment>Dave Child says so</comment> |
<address>test@.</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>112</id> |
</test> |
<test> |
854,7 → 912,8 |
<comment>Dave Child says so</comment> |
<address>test@example.</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>113</id> |
</test> |
<test> |
862,15 → 921,19 |
<comment>Dave Child says so</comment> |
<address>test@.org</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>114</id> |
</test> |
<test> |
<valid>false</valid> |
<address>test@123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012.com</address> |
<comment>255 characters is maximum length for domain. This is 256.</comment> |
<address>test@123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012.com |
</address> |
<comment>255 characters is maximum length for domain. This is 256. |
</comment> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>115</id> |
</test> |
<test> |
878,7 → 941,8 |
<comment>Dave Child says so</comment> |
<address>test@example</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>116</id> |
</test> |
<test> |
886,7 → 950,8 |
<comment>Dave Child says so</comment> |
<address>test@[123.123.123.123</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>117</id> |
</test> |
<test> |
894,7 → 959,8 |
<comment>Dave Child says so</comment> |
<address>test@123.123.123.123]</address> |
<source>Dave Child</source> |
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
<sourcelink>http://code.google.com/p/php-email-address-validation/ |
</sourcelink> |
<id>118</id> |
</test> |
<test> |
902,7 → 968,8 |
<valid>false</valid> |
<comment>Phil Haack says so</comment> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>119</id> |
</test> |
<test> |
910,7 → 977,8 |
<valid>false</valid> |
<comment>Phil Haack says so</comment> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>120</id> |
</test> |
<test> |
917,7 → 985,8 |
<address>"test\\blah"@example.com</address> |
<valid>true</valid> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>121</id> |
</test> |
<test> |
925,23 → 994,28 |
<valid>true</valid> |
<comment>Any character can be escaped in a quoted string</comment> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>122</id> |
</test> |
<test> |
<address>"test\ blah"@example.com</address> |
<valid>true</valid> |
<comment>Quoted string specifically excludes carriage returns unless escaped</comment> |
<comment>Quoted string specifically excludes carriage returns unless |
escaped</comment> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>123</id> |
</test> |
<test> |
<address>"test blah"@example.com</address> |
<valid>false</valid> |
<comment>Quoted string specifically excludes carriage returns</comment> |
<comment>Quoted string specifically excludes carriage returns |
</comment> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>124</id> |
</test> |
<test> |
948,7 → 1022,8 |
<address>"test\"blah"@example.com</address> |
<valid>true</valid> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>125</id> |
</test> |
<test> |
956,7 → 1031,8 |
<valid>false</valid> |
<comment>Phil Haack says so</comment> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>126</id> |
</test> |
<test> |
963,7 → 1039,8 |
<address>customer/department@example.com</address> |
<valid>true</valid> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>127</id> |
</test> |
<test> |
970,7 → 1047,8 |
<address>_Yosemite.Sam@example.com</address> |
<valid>true</valid> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>128</id> |
</test> |
<test> |
977,7 → 1055,8 |
<address>~@example.com</address> |
<valid>true</valid> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>129</id> |
</test> |
<test> |
985,7 → 1064,8 |
<valid>false</valid> |
<comment>Phil Haack says so</comment> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>130</id> |
</test> |
<test> |
993,7 → 1073,8 |
<valid>false</valid> |
<comment>Phil Haack says so</comment> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>131</id> |
</test> |
<test> |
1001,7 → 1082,8 |
<valid>false</valid> |
<comment>Phil Haack says so</comment> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>132</id> |
</test> |
<test> |
1009,7 → 1091,8 |
<valid>false</valid> |
<comment>Phil Haack says so</comment> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>133</id> |
</test> |
<test> |
1016,7 → 1099,8 |
<address>"Austin@Powers"@example.com</address> |
<valid>true</valid> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>134</id> |
</test> |
<test> |
1023,7 → 1107,8 |
<address>Ima.Fool@example.com</address> |
<valid>true</valid> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>135</id> |
</test> |
<test> |
1030,7 → 1115,8 |
<address>"Ima.Fool"@example.com</address> |
<valid>true</valid> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>136</id> |
</test> |
<test> |
1037,7 → 1123,8 |
<address>"Ima Fool"@example.com</address> |
<valid>true</valid> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>137</id> |
</test> |
<test> |
1045,7 → 1132,8 |
<valid>false</valid> |
<comment>Phil Haack says so</comment> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>138</id> |
</test> |
<test> |
1053,7 → 1141,8 |
<valid>false</valid> |
<comment>Escaping can only happen in a quoted string</comment> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>139</id> |
</test> |
<test> |
1129,7 → 1218,8 |
<test> |
<address>foo@[\1.2.3.4]</address> |
<valid>false</valid> |
<comment>RFC 5321 specifies the syntax for address-literal and does not allow escaping</comment> |
<comment>RFC 5321 specifies the syntax for address-literal and does |
not allow escaping</comment> |
<source>Cal Henderson</source> |
<sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
<id>149</id> |
1144,13 → 1234,15 |
<test> |
<address>first."mid\dle"."last"@example.com</address> |
<valid>true</valid> |
<comment>Backslash can escape anything but must escape something</comment> |
<comment>Backslash can escape anything but must escape something |
</comment> |
<source>Dominic Sayers</source> |
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
<id>151</id> |
</test> |
<test> |
<address>Test. Folding. Whitespace@example.com</address> |
<address>Test. Folding. Whitespace@example.com |
</address> |
<valid>true</valid> |
<source>Dominic Sayers</source> |
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
1175,29 → 1267,36 |
<test> |
<address>Abc\@def@example.com</address> |
<valid>false</valid> |
<comment>Was incorrectly given as a valid address in the original RFC 3696</comment> |
<comment>Was incorrectly given as a valid address in the original RFC |
3696</comment> |
<source>RFC 3696 erratum 246</source> |
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=246</sourcelink> |
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=246 |
</sourcelink> |
<id>155</id> |
</test> |
<test> |
<address>Fred\ Bloggs@example.com</address> |
<valid>false</valid> |
<comment>Was incorrectly given as a valid address in the original RFC 3696</comment> |
<comment>Was incorrectly given as a valid address in the original RFC |
3696</comment> |
<source>RFC 3696 erratum 246</source> |
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=246</sourcelink> |
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=246 |
</sourcelink> |
<id>156</id> |
</test> |
<test> |
<address>Joe.\\Blow@example.com</address> |
<valid>false</valid> |
<comment>Was incorrectly given as a valid address in the original RFC 3696</comment> |
<comment>Was incorrectly given as a valid address in the original RFC |
3696</comment> |
<source>RFC 3696 erratum 246</source> |
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=246</sourcelink> |
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=246 |
</sourcelink> |
<id>157</id> |
</test> |
<test> |
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:12.34.567.89]</address> |
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:12.34.567.89] |
</address> |
<valid>false</valid> |
<comment>IPv4 part contains an invalid octet</comment> |
<source>Cal Henderson</source> |
1207,7 → 1306,8 |
<test> |
<address>"test\ blah"@example.com</address> |
<valid>false</valid> |
<comment>Folding white space can't appear within a quoted pair</comment> |
<comment>Folding white space can't appear within a quoted pair |
</comment> |
<source>Cal Henderson</source> |
<sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
<id>159</id> |
1215,15 → 1315,18 |
<test> |
<address>"test blah"@example.com</address> |
<valid>true</valid> |
<comment>This is a valid quoted string with folding white space</comment> |
<comment>This is a valid quoted string with folding white space |
</comment> |
<source>Phil Haack</source> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink> |
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx |
</sourcelink> |
<id>160</id> |
</test> |
<test> |
<address>{^c\@**Dog^}@cartoon.com</address> |
<valid>false</valid> |
<comment>This is a throwaway example from Doug Lovell's article. Actually it's not a valid address.</comment> |
<comment>This is a throwaway example from Doug Lovell's article. |
Actually it's not a valid address.</comment> |
<source>Doug Lovell (LinuxJournal, June 2007)</source> |
<sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
<id>161</id> |
1271,7 → 1374,8 |
<test> |
<address>cal(foo\)bar)@iamcal.com</address> |
<valid>true</valid> |
<comment>A valid address containing comments and an escaped parenthesis</comment> |
<comment>A valid address containing comments and an escaped |
parenthesis</comment> |
<source>Cal Henderson</source> |
<sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
<id>167</id> |
1309,7 → 1413,8 |
<id>171</id> |
</test> |
<test> |
<address>first.( middle )last@example.com</address> |
<address>first.( middle )last@example.com |
</address> |
<valid>true</valid> |
<comment>Comment with folding white space</comment> |
<source>Dominic Sayers</source> |
1317,7 → 1422,8 |
<id>172</id> |
</test> |
<test> |
<address>first(12345678901234567890123456789012345678901234567890)last@(1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)example.com</address> |
<address>first(12345678901234567890123456789012345678901234567890)last@(1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)example.com |
</address> |
<valid>false</valid> |
<comment>Too long with comments, not too long without</comment> |
<source>Dominic Sayers</source> |
1325,7 → 1431,8 |
<id>173</id> |
</test> |
<test> |
<address>first(Welcome to the ("wonderful" (!)) world of email)@example.com</address> |
<address>first(Welcome to the ("wonderful" (!)) |
world of email)@example.com</address> |
<valid>true</valid> |
<comment>Silly example from my blog post</comment> |
<source>Dominic Sayers</source> |
1367,7 → 1474,8 |
<test> |
<address>first(middle)last@example.com</address> |
<valid>false</valid> |
<comment>Can't have a comment or white space except at an element boundary</comment> |
<comment>Can't have a comment or white space except at an element |
boundary</comment> |
<source>Dominic Sayers</source> |
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
<id>179</id> |
1397,9 → 1505,11 |
<id>182</id> |
</test> |
<test> |
<address>first(abc("def".ghi).mno)middle(abc("def".ghi).mno).last@(abc("def".ghi).mno)example(abc("def".ghi).mno).(abc("def".ghi).mno)com(abc("def".ghi).mno)</address> |
<address>first(abc("def".ghi).mno)middle(abc("def".ghi).mno).last@(abc("def".ghi).mno)example(abc("def".ghi).mno).(abc("def".ghi).mno)com(abc("def".ghi).mno) |
</address> |
<valid>false</valid> |
<comment>Can't have comments or white space except at an element boundary</comment> |
<comment>Can't have comments or white space except at an element |
boundary</comment> |
<source>Dominic Sayers</source> |
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
<id>183</id> |
1413,9 → 1523,11 |
<id>184</id> |
</test> |
<test> |
<address>first.last@x(1234567890123456789012345678901234567890123456789012345678901234567890).com</address> |
<address>first.last@x(1234567890123456789012345678901234567890123456789012345678901234567890).com |
</address> |
<valid>true</valid> |
<comment>Label is longer than 63 octets, but not with comment removed</comment> |
<comment>Label is longer than 63 octets, but not with comment removed |
</comment> |
<source>Cal Henderson</source> |
<sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
<id>185</id> |
1439,7 → 1551,8 |
<address>name.lastname@domain.com</address> |
<valid>true</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>188</id> |
</test> |
<test> |
1446,7 → 1559,8 |
<address>.@</address> |
<valid>false</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>189</id> |
</test> |
<test> |
1453,7 → 1567,8 |
<address>a@b</address> |
<valid>false</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>190</id> |
</test> |
<test> |
1460,7 → 1575,8 |
<address>@bar.com</address> |
<valid>false</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>191</id> |
</test> |
<test> |
1467,7 → 1583,8 |
<address>@@bar.com</address> |
<valid>false</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>192</id> |
</test> |
<test> |
1474,7 → 1591,8 |
<address>a@bar.com</address> |
<valid>true</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>193</id> |
</test> |
<test> |
1481,7 → 1599,8 |
<address>aaa.com</address> |
<valid>false</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>194</id> |
</test> |
<test> |
1488,7 → 1607,8 |
<address>aaa@.com</address> |
<valid>false</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>195</id> |
</test> |
<test> |
1495,7 → 1615,8 |
<address>aaa@.123</address> |
<valid>false</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>196</id> |
</test> |
<test> |
1502,7 → 1623,8 |
<address>aaa@[123.123.123.123]</address> |
<valid>true</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>197</id> |
</test> |
<test> |
1510,7 → 1632,8 |
<valid>false</valid> |
<comment>extra data outside ip</comment> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>198</id> |
</test> |
<test> |
1518,7 → 1641,8 |
<valid>false</valid> |
<comment>not a valid IP</comment> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>199</id> |
</test> |
<test> |
1525,7 → 1649,8 |
<address>a@bar.com.</address> |
<valid>false</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>200</id> |
</test> |
<test> |
1532,7 → 1657,8 |
<address>a@bar</address> |
<valid>false</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>201</id> |
</test> |
<test> |
1539,7 → 1665,8 |
<address>a-b@bar.com</address> |
<valid>true</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>202</id> |
</test> |
<test> |
1547,7 → 1674,8 |
<valid>true</valid> |
<comment>TLDs can be any length</comment> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>203</id> |
</test> |
<test> |
1554,7 → 1682,8 |
<address>+@b.com</address> |
<valid>true</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>204</id> |
</test> |
<test> |
1561,7 → 1690,8 |
<address>a@-b.com</address> |
<valid>false</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>205</id> |
</test> |
<test> |
1568,7 → 1698,8 |
<address>a@b-.com</address> |
<valid>false</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>206</id> |
</test> |
<test> |
1575,7 → 1706,8 |
<address>-@..com</address> |
<valid>false</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>207</id> |
</test> |
<test> |
1582,7 → 1714,8 |
<address>-@a..com</address> |
<valid>false</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>208</id> |
</test> |
<test> |
1589,7 → 1722,8 |
<address>a@b.co-foo.uk</address> |
<valid>true</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>209</id> |
</test> |
<test> |
1596,7 → 1730,8 |
<address>"hello my name is"@stutter.com</address> |
<valid>true</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>210</id> |
</test> |
<test> |
1603,7 → 1738,8 |
<address>"Test \"Fail\" Ing"@example.com</address> |
<valid>true</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>211</id> |
</test> |
<test> |
1610,7 → 1746,8 |
<address>valid@special.museum</address> |
<valid>true</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>212</id> |
</test> |
<test> |
1617,7 → 1754,8 |
<address>invalid@special.museum-</address> |
<valid>false</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>213</id> |
</test> |
<test> |
1625,7 → 1763,8 |
<valid>true</valid> |
<comment>Disagree with Paul Gregg here</comment> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>214</id> |
</test> |
<test> |
1633,7 → 1772,8 |
<valid>false</valid> |
<comment>......</comment> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>215</id> |
</test> |
<test> |
1641,7 → 1781,8 |
<valid>false</valid> |
<comment>ip need to be []</comment> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>216</id> |
</test> |
<test> |
1648,15 → 1789,18 |
<address>"Joe\\Blow"@example.com</address> |
<valid>true</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>217</id> |
</test> |
<test> |
<address>Invalid \ Folding \ Whitespace@example.com</address> |
<address>Invalid \ Folding \ Whitespace@example.com |
</address> |
<valid>false</valid> |
<source>Paul Gregg</source> |
<comment>This isn't FWS so Dominic Sayers says it's invalid</comment> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>218</id> |
</test> |
<test> |
1663,7 → 1807,8 |
<address>HM2Kinsists@(that comments are allowed)this.is.ok</address> |
<valid>true</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>219</id> |
</test> |
<test> |
1670,7 → 1815,8 |
<address>user%uucp!path@somehost.edu</address> |
<valid>true</valid> |
<source>Paul Gregg</source> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php |
</sourcelink> |
<id>220</id> |
</test> |
<test> |
1681,7 → 1827,10 |
<id>221</id> |
</test> |
<test> |
<address> ( x ) first ( x ) . ( x) last ( x ) @example.com</address> |
<address> ( x ) |
first ( x ) . ( |
x) last ( x ) |
@example.com</address> |
<valid>true</valid> |
<source>Dominic Sayers</source> |
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
1692,15 → 1841,18 |
<valid>true</valid> |
<comment>obs-fws allows multiple lines</comment> |
<source>George Pollard</source> |
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink> |
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses |
</sourcelink> |
<id>223</id> |
</test> |
<test> |
<address>test. obs@syntax.com</address> |
<valid>true</valid> |
<comment>obs-fws allows multiple lines (test 2: space before break)</comment> |
<comment>obs-fws allows multiple lines (test 2: space before break) |
</comment> |
<source>George Pollard</source> |
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink> |
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses |
</sourcelink> |
<id>224</id> |
</test> |
<test> |
1708,7 → 1860,8 |
<valid>false</valid> |
<comment>obs-fws must have at least one WSP per line</comment> |
<source>George Pollard</source> |
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink> |
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses |
</sourcelink> |
<id>225</id> |
</test> |
<test> |
1716,7 → 1869,8 |
<valid>true</valid> |
<comment>can have escaped null character</comment> |
<source>George Pollard</source> |
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink> |
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses |
</sourcelink> |
<id>226</id> |
</test> |
<test> |
1724,7 → 1878,8 |
<valid>false</valid> |
<comment>cannot have unescaped null character</comment> |
<source>George Pollard</source> |
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink> |
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses |
</sourcelink> |
<id>227</id> |
</test> |
<test> |
1732,7 → 1887,8 |
<valid>false</valid> |
<comment>escaped null must be in quoted string</comment> |
<source>George Pollard</source> |
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink> |
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses |
</sourcelink> |
<id>228</id> |
</test> |
<test> |
1739,7 → 1895,8 |
<address>cdburgess+!#$%&'*-/=?+_{}|~test@gmail.com</address> |
<valid>true</valid> |
<comment>Example given in comments</comment> |
<source>http://www.dominicsayers.com/isemail/#comment-30024957</source> |
<source>http://www.dominicsayers.com/isemail/#comment-30024957 |
</source> |
<sourcelink>cdburgess</sourcelink> |
<id>229</id> |
</test> |