[st_valid_email]
Description
This tag allows a single email to be validated for proper format. It uses a simple regular expression to test whether the email conforms to the following standards.
1) The top level domain is at least two and not more than six characters.
2) Subdomains are supported.
3) Usernames may contain underscores or periods and may start with underscores or end with them, but not periods.
4) Domains may be IP address but cannot contain other characters that are non alpha numeric.
5) And more...
Based on code scavenged from http://regexlib.com/
Parameters
-email
string, required
The email address needing to be evaluated.
Sample Usage
[//Lasso
include:'/components/inSite/st_email_valid.inc';
// valid addresses;
st_email_valid: -email='stevejobs@mac.com';
st_email_valid: -email='steve.jobs@mac.com';
st_email_valid: -email='steve_jobs@mac.com';
st_email_valid: -email='steve_jobs@mac.com';
st_email_valid: -email='hello@worl_d.com';
st_email_valid: -email='simpleone@mac.co.uk';
st_email_valid: -email='_test_@test.com';
// in-valid addresses;
st_email_valid: -email=' steve_jobs@mac.com';
st_email_valid: -email='steve_jobs@mac.com ';
st_email_valid: -email='steve_jobs @mac.com ';
st_email_valid: -email='steve_ jobs@mac.com';
st_email_valid: -email='.test.@test.com';
st_email_valid: -email='spammer@[203.12.145.68]';
st_email_valid: -email='bla@bla';
st_email_valid: -email='@foo.com ';
st_email_valid: -email='a@a';
st_email_valid: -email='-a-@-b-.cd';
st_email_valid: -email='--b@c__d.ef';
st_email_valid: -email='he&llo@world.co1';
st_email_valid: -email='.hello@wor#.co.uk';
]
Source Code
Click the "Download" button below to retrieve a copy of this tag,
including the complete documentation and sample usage shown
on this page. Place the downloaded ".inc" file in your
LassoStartup folder, restart Lasso, and you can begin using this
tag immediately.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?LassoScript
/****************************************************************************
[st_email_valid]
February 28, 2009 -- Brian Loomis
// valid addresses;
email_valid: -EmailCheck='steve.jobs@mac.com';
email_valid: -EmailCheck='steve_jobs@mac.com';
email_valid: -EmailCheck='hello@worl_d.com';
email_valid: -EmailCheck='simpleone@mac.co.uk';
email_valid: -EmailCheck='_test_@test.com';
// in-valid addresses;
email_valid: -EmailCheck=' steve_jobs@mac.com';
email_valid: -EmailCheck='steve_jobs@mac.com ';
email_valid: -EmailCheck='steve_jobs @mac.com ';
email_valid: -EmailCheck='steve_ jobs@mac.com';
email_valid: -EmailCheck='.test.@test.com';
email_valid: -EmailCheck='spammer@[203.12.145.68]';
email_valid: -EmailCheck='bla@bla';
email_valid: -EmailCheck='@foo.com ';
email_valid: -EmailCheck='a@a';
email_valid: -EmailCheck='-a-@-b-.cd';
email_valid: -EmailCheck='--b@c__d.ef';
email_valid: -EmailCheck='he&llo@world.co1';
email_valid: -EmailCheck='.hello@wor#.co.uk';
*****************************************************************************/
define_tag('st_email_valid',
-priority='replace',
-req='email', -type=string,
-description='Returns the validation of the email as given in the examples above.'
);
local('EmailCheck'=array(#email));
local('RegChecker'=array);
/****************************************************************************
Save Other Patterns here.
(\\w[-._\\w]*\\w@\\w[-._\\w]*\\w\\.\\w{2,3})
*****************************************************************************/
iterate: ((String_FindRegExp: #EmailCheck, -Find='(\\w[-._\\w]*\\w@\\w[-._\\w]*\\w\\.\\w{2,6})' )), local('mylocal');
if(#RegChecker !>> #mylocal);
#RegChecker->Insert(#mylocal);
/if;
/iterate;
if(#RegChecker == #EmailCheck);
return:true;
else;
//return: $EmailCheck;
return:false;
/if;
/define_tag;
/****************************************************************************
Use it like in the examples above.
*****************************************************************************/
?>
Comments
none