360 Lotus blogs updated hourly. Who will post next? Home | Downloads | Events | Jobs | Twitter | Bookmarks | Pods | Forum | Blogs | Search | myPL | About 
 
Latest 7 Posts
False Positives on Planet Lotus
Fri, Sep 25th 2009 13
Validating URL and Email Addresses with regexp in Lotus Notes
Thu, Sep 17th 2009 9
can’t use @ThisName in Hide-When formulas, LOTUS NOTES meta coding FAIL
Fri, Sep 11th 2009 19
Expanding Group Names for Lotus Domino using LotusScript
Tue, Sep 8th 2009 74
SNTT: a pseudo Computed for Display Rich Text Field in the Lotus Notes Client
Thu, Sep 3rd 2009 25
Sacha Chua shares her Lotus Notes mail merge from a Microsoft Excel spreadsheet
Thu, Aug 27th 2009 43
SNTT : using LotusScript to launch file attachements (EmbeddedObjects) in Lotus Notes
Wed, Aug 26th 2009 77
Top 10
SNTT : using LotusScript to launch file attachements (EmbeddedObjects) in Lotus Notes
Wed, Aug 26th 2009 77
Expanding Group Names for Lotus Domino using LotusScript
Tue, Sep 8th 2009 74
Sacha Chua shares her Lotus Notes mail merge from a Microsoft Excel spreadsheet
Thu, Aug 27th 2009 43
Stopping Copy and Paste, in Lotus Notes, selectivity in Views
Thu, Jul 30th 2009 37
SNTT: a pseudo Computed for Display Rich Text Field in the Lotus Notes Client
Thu, Sep 3rd 2009 25
SnTT: Notes Document Structured Text Export for Multilingual (UTF-8)
Thu, Nov 15th 2007 23
SNTT : Validating a Notes Client Rich text field
Thu, May 7th 2009 20
can’t use @ThisName in Hide-When formulas, LOTUS NOTES meta coding FAIL
Fri, Sep 11th 2009 19
False Positives on Planet Lotus
Fri, Sep 25th 2009 13
SNTT : Don’t hard code your Selectedable Years in a Lotus Notes dialog box.
Thu, Aug 13th 2009 12


Validating URL and Email Addresses with regexp in Lotus Notes
Ian    

I needed to recreate this from scratch, and so I’m documenting this here for the next time.

Most of the credit should go to Julian Robichauxand his ls2j examples db, and in particultar the JakartaOroWrapper Library

My “invention” involves creating a isValidateURL and isValidateEmailAddress Regular Expression (or regexp ) routines that worked for me.

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
Uselsx "*javacon"
Use "JakartaOroWrapper"

Function isValidateURL (Url As String) As Boolean
   
    Dim jSession As New JavaSession
    Dim oroClass As JavaClass
    Dim oro As JavaObject
    Dim vector As JavaObject
    Dim jError As JavaError
   
    '** get the ORO wrapper class and instantiate an instance of it
    Set oroClass = jSession.GetClass("JakartaOroWrapper")
    Set oro = oroClass.CreateObject
   
    Dim pattern As String
   
'   pattern = "^((http[s]?|ftp):\/)?\/?([^:\/\s]+)((\/\w+)*\/)([\w\-\.]+[^#?\s]+)(.*)?(#[\w\-]+)?$"
'   pattern = "(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?"  
    pattern = "^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&%\$#\=~])*$"
   
    isValidateURL = oro.matches(Url, pattern, False)
   
End Function

Function isValidateEmailAddress (emailAddress As String) As Boolean
   
    Dim jSession As New JavaSession
    Dim oroClass As JavaClass
    Dim oro As JavaObject
    Dim vector As JavaObject
    Dim jError As JavaError
   
    '** get the ORO wrapper class and instantiate an instance of it
    Set oroClass = jSession.GetClass("JakartaOroWrapper")
    Set oro = oroClass.CreateObject
   
    '** here are the strings and patterns we'll play with
    Dim testString As String
    Dim pattern As String
   
    'pattern = "\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"
   
    'RFC_2822 version
    pattern = "[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?"
   
   
   
    isValidateEmailAddress = oro.matches(emailAddress, pattern, False)
   
   
End Function

How I used it was not very exciting but for completeness.

1
2
3
4
5
6
If Not NotesDoc.url(0) =  "" Then  
        If Not isValidateURL ( NotesDoc.url(0)) Then
            Msgbox "The URL Address ("+NotesDoc.url(0)+") doesn't look right, Please confirm it is correct.", 0 + 32, "Validation Error"       
            NotesUIDoc.GotoField("URL")
    End If
End If

A big cautionary note about the regexp patterns I used. for both Url’s and emails addresses, I seen them very short and very very long. It’s easy to make assumtion about the validate TLD and other aspects of the strings, so test test test, and be aware.

And, of course, this is but a small piece of what you could do with regexp!!

Post from: False Positives

Validating URL and Email Addresses with regexp in Lotus Notes



---------------------
http://www.falsepositives.com/index.php/2009/09/17/validating-url-and-email-addresses-with-regexp-in-lotus-notes/
Sep 17, 2009
13 hits



Recent Blog Posts
13


False Positives on Planet Lotus
Fri, Sep 25th 2009 9:56a   Ian Irving
Once upon a time, 2006, there was “Show ‘n Tell Thursdays – A Project Of The Lotus Notes And Domino“, and the SNTT tag is still used, but Planet Lotus is where the action is now, an aggregation of Lotus related blogs and news. Recently False Positives was accepted for inclusion as part of that community. It is a great honor (although also scary to boot) to have may Domino and Lotus Notes related post’s in such fine company. Related Posts:Lotus Notes: Yeah, it can do [read] Keywords: domino lotus notes sntt community firefox google php planet lotus planetlotus planetlotus.org
10


Validating URL and Email Addresses with regexp in Lotus Notes
Thu, Sep 17th 2009 9:57a   Ian Irving
I needed to recreate this from scratch, and so I’m documenting this here for the next time. Most of the credit should go to Julian Robichauxand his ls2j examples db, and in particultar the JakartaOroWrapper Library My “invention” involves creating a isValidateURL and isValidateEmailAddress Regular Expression (or regexp ) routines that worked for me. 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 4 [read] Keywords: lotus lotusscript notes sntt email php
19


1
can’t use @ThisName in Hide-When formulas, LOTUS NOTES meta coding FAIL
Fri, Sep 11th 2009 12:31p   Ian Irving
I had hoped to use the “@ThisName” to get the suffix of the field name “Comment_1″ and hide it if the Field “Status_1″ is “Pending” by doing this : Suffix := @Right(@ThisName; "_"); EmpListFieldName := "Status_" + Suffix; Status_value := @GetField(EmpListFieldName); @If( Status_value = "Pending";@Return(@True);@Return(@False)); but it didn’t work finally traced it down to the “@ThisName” formula and the Help doc’s c [read] Keywords: dblookup document formula formula language lotus notes sntt idea jam ideajam ideajam.net php properties
74


Expanding Group Names for Lotus Domino using LotusScript
Tue, Sep 8th 2009 10:09a   Ian Irving
I Needed to find the people that belonged to a given lotus Notes group. It couldn’t be a simple lookup since other groups can and frequently are also members of a group, so it needed to be be recursive. 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 Function expandGroupListMembers(GroupName) As Variant Dim session As New NotesSession Dim [read] Keywords: acl document domino lotus lotusscript notes notes client rich text rich-text sntt php server
25


SNTT: a pseudo Computed for Display Rich Text Field in the Lotus Notes Client
Thu, Sep 3rd 2009 4:16p   Ian Irving
As in last weeks posting, I wanted to have help verbiage centrally maintained (without developer innervation) but always displayed update in the end user document (the final end user). Easy enough to do with text or on the web, but doing this with rich text (pictures and text markup) on the Notes Client was non trivial. Rich Text field are either “editable” or “computed” which mean it wasn’t going to update it if the document was in read mode. So what I created was [read] Keywords: document formula lotus lotusscript notes notes client rich text rich-text sntt idea jam ideajam ideajam.net php profile workspace
43


Sacha Chua shares her Lotus Notes mail merge from a Microsoft Excel spreadsheet
Thu, Aug 27th 2009 9:40a   Ian Irving
Toronto’s Connector extraordinaire Sacha Chua developed this super-nifty Lotus Notes script which does a flexible mail merge from a Microsoft Excel spreadsheet to Lotus Notes, as documented and shared in Lotus Notes mail merge from a Microsoft Excel spreadsheet. Keep on Coding, Sharing, Story telling, and Connecting! Related Posts:SNTT : Export any Lotus Notes View to Excel from Domino Web, automagicallyLotus Guru makes a more Attractive Export of Categorized Notes Views to ExcelWhat Is L [read] Keywords: document domino lotus notes sntt microsoft php




77


SNTT : using LotusScript to launch file attachements (EmbeddedObjects) in Lotus Notes
Wed, Aug 26th 2009 10:13p   Ian Irving
I wanted to launch a excel (xls) file which was stored in a Profile document, from a Notes Client (tested in r8.5 but I see no reason this will not work in versions going back to r5) (Making it available to all users of a certain type of document with making hundreds of replicate copies, and all a central db administrator user able to roll out a new file with out changing those other documents) It is not very obvious how to do this, hence this posting My first Draft was this : 1 2 3 4 5 6 7 8 9 [read] Keywords: admin document domino ibm lotus lotusscript notes notes client R5 R8 rich text richtext rich-text sntt application database office php profile security workspace
12


SNTT : Don’t hard code your Selectedable Years in a Lotus Notes dialog box.
Thu, Aug 13th 2009 3:39p   Ian Irving
Hard coding is bad, bad , bad. Very bad, okay? (see Avoiding Hard Coding of Group Names). Here’s a quick and dirty way to have a drop down dialog which selects the “Year” and not be hard coded. 1 2 3 4 currentYear := @Year(@Now ); @Text(currentYear-1) : @Text(currentYear) : @Text(currentYear+1) which results in a multip value list of (for this year) “2008″ : “2009″ : “2010″ and then make the default value 1 [read] Keywords: acl dblookup lotus lotusscript notes sntt php
8


SNTT adding http onto URL strings in Lotus Notes
Thu, Aug 13th 2009 6:20a   Ian Irving
The challenge was to have end users enter url’s (or uri’s) for content and have it presented as a link on the read only end part of the site. The problem is that means having “http” (or “https”) -which indicates Hypertext Transfer Protocol - appended to the string, if it was not supplied by the end user. so in the Input Translational part of the editable field I used the following formula : 1 2 3 4 5 tempUrl := @ReplaceSubstring(@Trim(@ThisValue); [read] Keywords: document formula formula language lotus lotusscript notes sntt java php
37


Stopping Copy and Paste, in Lotus Notes, selectivity in Views
Thu, Jul 30th 2009 1:41a   Ian Irving
Previously, I showed how to globally Stop Copy and Paste, in Lotus Notes using formula language, at the database event level. I also mentioned how to allow some documents to be pasted in. (in the Notes Client) What if you wish to just shut down copy and paste in a few views but not all? Maybe the views that some end users have ACL access to create documents, but you what other users to be able to create documents with copy and paste? (yech, but anyway) in those views you wish to shut down, modi [read] Keywords: acl agent document formula formula language lotus lotusscript notes notes client sntt database php




Created and Maintained by Yancy Lent - About - Blog Submission - Suggestions - Change Log - Blog Widget - Advertising - FAQ - Mobile Edition