Example #1
0
        /// <summary>
        /// Determines if a string contains only characters from the chosen
        /// ValidCharacterSet. Additional valid characters may be passed in the chars
        /// argument.
        /// </summary>
        /// <param name="data">
        ///		String to validate.
        /// </param>
        /// <param name="charSet">
        ///		Combination of ValidCharacterSet values.
        /// </param>
        /// <param name="chars">
        ///		Additional allowable characters not included in the chosen character set.
        /// </param>
        /// <returns>
        ///		Returns true if all the characters were valid, otherwise false.
        /// </returns>
        public static bool ValidateCharacterSet(string data, ValidCharacterSet charSet, params char[] chars)
        {
            if ((charSet & ValidCharacterSet.All) == ValidCharacterSet.All)
            {
                return(true);
            }

            if (data == null)
            {
                return((ValidCharacterSet.Null & charSet) == ValidCharacterSet.Null);
            }

            if ((charSet & ValidCharacterSet.Any) == ValidCharacterSet.Any)
            {
                return(true);
            }

            string resultSet = GetCharacterSet(charSet, chars);

            foreach (char c in data)
            {
                if (resultSet.IndexOf(c) == -1)
                {
                    return(false);
                }
            }

            return(true);
        }
Example #2
0
        /// <summary>
        /// Gets the human readable names of the character sets defined in the <c>charSet</c>
        /// parameter.
        /// </summary>
        /// <param name="charSet">
        ///		Combination of ValidCharacterSet values.
        /// </param>
        /// <param name="chars">
        ///		Additional characters to include in the final name.
        /// </param>
        /// <returns>
        ///		Returns a comma separated list of character sets.
        /// </returns>
        public static string GetCharacterSetNames(ValidCharacterSet charSet, char[] chars)
        {
            StringBuilder resultSet = new StringBuilder();

            foreach (ValidCharacterSet val in Enum.GetValues(typeof(ValidCharacterSet)))
            {
                if (((val & charSet) == val) && ((val & ValidCharacterSet.mark_Combo) != ValidCharacterSet.mark_Combo) && (val != ValidCharacterSet.None && val != ValidCharacterSet.mark_SingleCharacter))
                {
                    if (resultSet.Length > 0)
                    {
                        resultSet.Append(", ");
                    }

                    resultSet.Append(Enum.GetName(typeof(ValidCharacterSet), val).ToLower());

                    if ((val & ValidCharacterSet.mark_SingleCharacter) == ValidCharacterSet.mark_SingleCharacter)
                    {
                        resultSet.AppendFormat(" '{0}'", GetCharacterSet(val, null));
                    }
                }
            }

            if (chars != null && chars.Length > 0)
            {
                if (resultSet.Length > 0)
                {
                    resultSet.Append(", ");
                }

                resultSet.AppendFormat("'{0}'", new string( chars ));
            }

            if (resultSet.ToString().IndexOf(',') > -1)
            {
                resultSet.Insert(resultSet.ToString().LastIndexOf(',') + 1, " and");
            }

            return(resultSet.ToString());
        }
Example #3
0
        /// <summary>
        /// Gets the string of valid characters as defined by the combination of
        /// values in the <c>charSet</c> parameter.
        /// </summary>
        /// <param name="charSet">
        ///		Combination of ValidCharacterSet values.
        /// </param>
        /// <param name="chars">
        ///		Additional characters to treat as valid.
        /// </param>
        /// <returns>
        ///		Returns a combined string containing all the characters to
        ///		consider valid.
        /// </returns>
        public static string GetCharacterSet(ValidCharacterSet charSet, char[] chars)
        {
            StringBuilder resultSet = new StringBuilder(new string( chars ));

            foreach (ValidCharacterSet val in Enum.GetValues(typeof(ValidCharacterSet)))
            {
                if (((val & charSet) == val) && ((val & ValidCharacterSet.mark_Combo) != ValidCharacterSet.mark_Combo) && val != ValidCharacterSet.mark_SingleCharacter)
                {
                    switch (val)
                    {
                    case ValidCharacterSet.Uppercase:
                        resultSet.Append("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
                        break;

                    case ValidCharacterSet.Lowercase:
                        resultSet.Append("abcdefghijklmnopqrstuvwxyz");
                        break;

                    case ValidCharacterSet.Numeric:
                        resultSet.Append("1234567890");
                        break;

                    case ValidCharacterSet.Hyphen:
                        resultSet.Append('-');
                        break;

                    case ValidCharacterSet.Underscore:
                        resultSet.Append('_');
                        break;

                    case ValidCharacterSet.Tab:
                        resultSet.Append('\t');
                        break;

                    case ValidCharacterSet.Space:
                        resultSet.Append(' ');
                        break;

                    case ValidCharacterSet.CarriageReturn:
                        resultSet.Append('\r');
                        break;

                    case ValidCharacterSet.LineFeed:
                        resultSet.Append('\n');
                        break;

                    case ValidCharacterSet.Period:
                        resultSet.Append('.');
                        break;

                    case ValidCharacterSet.At:
                        resultSet.Append('@');
                        break;

                    case ValidCharacterSet.Punctuation:
                        resultSet.Append("!@#$%^&*<>()[]{}|\\/:;,.\"'-_=+~`");
                        break;

                    case ValidCharacterSet.SafePunctuation:
                        resultSet.Append("_-.");
                        break;

                    case ValidCharacterSet.Currency:
                        resultSet.Append(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalSeparator);
                        resultSet.Append(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyGroupSeparator);
                        resultSet.Append(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol);
                        break;
                    }
                }
            }

            return(resultSet.ToString());
        }
Example #4
0
 /// <summary>
 /// Determines if a string contains only characters from the chosen
 /// ValidCharacterSet. Additional valid characters may be passed in the chars
 /// argument.
 /// </summary>
 /// <param name="data">
 ///		String to validate.
 /// </param>
 /// <param name="charSet">
 ///		One or more of the ValidCharacterSet values.
 /// </param>
 /// <returns></returns>
 public static bool ValidateCharacterSet(string data, ValidCharacterSet charSet)
 {
     return(ValidateCharacterSet(data, charSet, (char[])null));
 }
Example #5
0
 /// <summary>
 /// Determines if a string contains only characters from the chosen
 /// ValidCharacterSet. Additional valid characters may be passed in the chars
 /// argument.
 /// </summary>
 /// <param name="data">
 ///		String to validate.
 /// </param>
 /// <param name="charSet">
 ///		One or more of the ValidCharacterSet values.
 /// </param>
 /// <param name="chars">
 ///		String of additional allowable characters not included in the
 ///		chosen character set.
 /// </param>
 /// <returns></returns>
 public static bool ValidateCharacterSet(string data, ValidCharacterSet charSet, string chars)
 {
     return(ValidateCharacterSet(data, charSet, chars.ToCharArray()));
 }