Some content on this site is available only to logged-in subscribers. Contact Us for information on becoming a subscriber.

InSource.Solutions | InSource Training | InSource Client Portal
InSource Solutions Logo
Log In Sign Up
InSource.Solutions InSource Training InSource Client Portal Log In Sign Up
  • Home
  • AVEVA General
  • AVEVA General Tech Notes

TN AG115 Validate User Input with Regular Expressions (RegEx)

Last updated: February 20th, 2025

Description

  • Author: Brian Schneider
  • Published: February 20th, 2025

Details:

Description

Regular Expressions are a way to compare a value to see if it is in a particular format. This can be useful to validate user input to ensure it is formatted correctly.

  • Author: Dillon Perera
  • Published: 12/31/2015
  • Applies to: ArchestrA Symbols with InTouch

Details

To use Regular Expressions we will make use of the .NET System.Text.RegularExpressions library.

The following lines of script are the basic format we will use to validate input, replacing the FORMATSTRING with the required format, and MyString with the variable we are trying to validate.

'This variable will contain the definition of the format we are looking for
dim regex as System.Text.RegularExpressions.Regex;
'This variable will be used to test if the desired format is found
dim match as System.Text.RegularExpressions.Match;


'Define the actual format we are looking for
regex = new System.Text.RegularExpressions.Regex("FORMATSTRING");
'Compare actual input against the desired format, see if they match
match = regex.Match(MyString);

Details on how to format a Regular Expression's string can be found online. The following MSDN page gives a number of examples: https://msdn.microsoft.com/en-us/library/ae5bf541(v=vs.90).aspx

Example:

User is requested to enter a Batch ID. We know that for this company all Batch IDs must begin with a capital B, followed by three digits, a single uppercase character indicating the product code, then 1-3 lowercase letters indicating the country it is going to.

We will now build the regular expression:

Rule Equivalent in Regular Expression Syntax
Must start with capital B [B] - indicating we're looking for 1 character that must be 'B'
Three digits \d{3} - \d indicates a number, {3} is the quantity
A single uppercase letter [A-Z] - indicates we'll accept a character between A and Z.
1 to 3 lowercase letters [a-z]{1,3} - indicates we'll accept a character between 'a' and 'z', and the {1,3} indicates we allow 1 to 3 characters.

So the final regular expression will be "[B]\d{3}[A-Z][a-z]{1,3}".

In our ArchestrA symbol we might create an Action Script similar to the following (Highlighted lines show differences from original script) to only process the next batch if we have received a valid BatchID.

'This variable will contain the definition of the format we are looking for
dim regex as System.Text.RegularExpressions.Regex;
'This variable will be used to test if the desired format is found
dim match as System.Text.RegularExpressions.Match;

'Define the actual format we are looking for
regex = new System.Text.RegularExpressions.Regex("[B]\d{3}[A-Z][a-z]{1,3}");

'Compare actual input against the desired format, see if they match
match = regex.Match(MyString);

'Create a boolean to check if we have a match
dim result as boolean;
result = match.Success;

'If it is a valid BatchID begin a new batch
if (result == true) then
MyArea.BatchID = MyString;
MyArea.StartNewBatch = 1;
else
{Do nothing}
endif;

 

With this code, the script will compare the BatchID entered by the user against the existing format. Below are some examples of potential input, and if they would be accepted:

Input from User Accepted? If not, why?
B712Ausa Yes  
A615Ausa
 
No Begins with an 'A', not a 'B'
b123Bcdn
 
No Begins with a lowercase 'b', not uppercase 'B'
B123Bcdn
 
Yes  
BabcCusa
 
No After the 'B' there are letters instead of numbers
B51Dusa
 
No After the 'B' there are only two numbers, not three
B517Dusa
 
Yes  
B517DUSA
 
No The last three letters are uppercase, not lowercase
input validation pattern matching
Give feedback about this article

Recommended articles

How to receive group emails

Read More
Support Icon

CONTACT SUPPORT

How to reach us

10800 Midlothian Turnpike Tpke, Suite 209, Richmond, VA 23235

1.877.INSOURCE

Technical Support - 1.888.691.3858

Contact Us

  • InSource Solutions
  • InSource Training
  • InSource Client Portal
  • Log In
InSource Solutions Logo

© 2025 InSource Solutions. All Rights Reserved.

Knowledge Base Software powered by Helpjuice

Expand