using System.Data.SqlTypes; using Microsoft.SqlServer.Server; using System.Text.RegularExpressions; namespace Neo.Afx.Validation { /// /// The formatter. /// public class RsaTrustNumberValidation { /// /// Does check digit validation on an RSA Company Registration Number /// /// The Company Registration Number. /// True/False [SqlFunction( IsDeterministic = true, IsPrecise = true, DataAccess = DataAccessKind.Read, SystemDataAccess = SystemDataAccessKind.Read )] public static SqlBoolean IsValidRsaTrustNumber(SqlString trustNumber) { var isValid = false; var trustNumberToCheck = trustNumber.Value; if (string.IsNullOrEmpty(trustNumberToCheck)) { return new SqlBoolean(isValid); } Regex rgx = new Regex(@"^\d{4}\/\d{6}\/\d{2}$"); if (rgx.IsMatch(trustNumberToCheck)) { isValid = true; } return new SqlBoolean(isValid); } } }