Hello all,
While this probably isn't the most bullet proof code in the world, I think that it offers a pretty decent starting point for you do develop more robust functionality. This is just a validation class that you can add on to...though I have to say that the address function is pretty good, albiet really long. Anyway, here it is, let me know what you think, and use it all you want.
Kevin:
Good luck,
Kevin
- "The truth hurts, maybe not as much as jumping on a bicycle with no seat, but it hurts.
While this probably isn't the most bullet proof code in the world, I think that it offers a pretty decent starting point for you do develop more robust functionality. This is just a validation class that you can add on to...though I have to say that the address function is pretty good, albiet really long. Anyway, here it is, let me know what you think, and use it all you want.
Kevin:
Code:
/*
Created By: Kevin Albright
Date Created: October 15, 2004
Last Modified: October 18, 2004
Description: The Validation Class is designed to validate certain data types (eg. Alphabetic, Numeric)
as well as certain data formats (eg. Phone Number, Zip Code). Further, it is used to
manipulate strings for display purposes (eg. Phone Number, Zip Code, Currency (without Commas),
Addresses (according to USPS standard notations)) Lastly, this class is used to remove
various unwanted characters from strings (tab, carriage return, etc...)
*/
using System;
using System.Collections;
using System.Text;
using System.Text.RegularExpressions;
namespace Validation
{
public class Validate
{
#region **** Begin Bool Functions ******
/*****************************************************
Functions that return if a value is valid
*****************************************************/
//---------------------------------------------------------------------------|
public bool ValidAlpha(string AlphaStr) // ++++++ Checks to make sure a string is Alphabetic ++++++
{
foreach (char c in AlphaStr)
{
if (!char.IsLetter(c))
return false;
}
return true;
} // ============= End ValidAlpha() =============
//---------------------------------------------------------------------------|
public bool ValidDate(string vDate) // ++++++++++ Checks to see if a date is valid +++++++
{
vDate = vDate.Trim();
if (vDate == "")
return true;
int Mon, Day, Yr;
DateTime ValDate;
//string NDate;
try
{
if (Regex.IsMatch(vDate,@"\d{1,2}[/]\d{1,2}[/](\d{4}|\d{2})") ||
Regex.IsMatch(vDate,@"\d{1,2}[-]\d{1,2}[-](\d{4}|\d{4})")) //looks for a format with 2 /'s or 2 -'s
{
ValDate = Convert.ToDateTime(vDate);
}
else
{
if (vDate.Trim().Length != 8) //Not a readable date format
return false;
if (Convert.ToInt16(vDate.Substring(0, 2)) > 12) //Format yyyymmdd
{
Yr = Convert.ToInt16(vDate.Substring(0, 4));
Mon = Convert.ToInt16(vDate.Substring(4, 2));
Day = Convert.ToInt16(vDate.Substring(6, 2));
return (ValidDate(Mon.ToString() + "/" + Day.ToString() + "/" + Yr.ToString()));
}
else //Format mmddyyyy
{
Mon = Convert.ToInt16(vDate.Substring(0, 2));
Day = Convert.ToInt16(vDate.Substring(2, 2));
Yr = Convert.ToInt16(vDate.Substring(4, 4));
return (ValidDate(Mon.ToString() + "/" + Day.ToString() + "/" + Yr.ToString()));
}
}
}
catch //error is captured if the date cannot be established by C#'s Convert.ToDateTime()
{
return false;
}
return true;
} //===================== End ValidDate() ==============
//---------------------------------------------------------------------------|
public bool ValidNum (string Num) //+++++++++++ Used to Validate Currency +++++++
{
//Allows 1 comma and 1 period
int Pd = 0, Comma = 0;
if (Num.Trim() != "")
{
foreach (char c in Num.Trim())
{
if (!char.IsNumber(c) && (!c.Equals('.')) && (!c.Equals(',')))
{
return false;
}
if (c.Equals('.'))
Pd++;
if (c.Equals(','))
Comma++;
}
if (Pd > 1 || Comma > 1)
{
return false;
}
}
return true;
}//========= End ValidNum() =============
//---------------------------------------------------------------------------|
public bool ValidPW(string PW)//++++++++++++ Checks for Valid Passwords +++++++++++++
{
if (PW.Trim() != "" && PW.Length < 6) //If the password is not at least 6 characters
return false;
foreach (char c in PW)
{
if (!char.IsNumber(c) && !char.IsLetter(c)) //if the character is not alpha numeric
return false;
}
return true;
}//============ End ValidPW() ==========================
//---------------------------------------------------------------------------|
public bool ValidPhone(string Phone)//++++++++++++ Validate Phone ++++++++++
{
//Allows a 7, 10, or 11 character Phone number
Phone = CleanPhone(Phone); //calls to clean out all non-numeric characters
if (Phone.Length != 11 && Phone.Length != 10 && Phone.Length != 7)
return false;
else
return true;
}//============ End ValidPhone() ==========
//---------------------------------------------------------------------------|
public bool ValidZip(string ZC)//+++++++++++ Validates a Zip Code ++++
{
//Allows for a 5 or 9 digit zip code
ZC = CleanZip(ZC); //calls to clean out all non-numeric characters
if (ZC.Length != 5 && ZC.Length != 9 && ZC.Trim() != "")
return false;
else
return true;
}//=========== End ValidZip() ==========
#endregion //End of the Bool Region
#region **** Begin String Functions ****
/*******************************************************
Functions for manipulating strings
*******************************************************/
//---------------------------------------------------------------------------|
public string CleanAddress(string inString)//++++++++++++ Modifies Address Data +++++++++++++++
{
// Mapped Name conversions provided by the United States Postal Service
StringBuilder sb = new StringBuilder(" " + CleanString(inString) + " ");//spaces added as word boundaries
sb = sb.Replace(" BUILDING "," BLDG ");
sb = sb.Replace(" BUILDNG "," BLDG ");
sb = sb.Replace(" BLDNG "," BLDG ");
sb = sb.Replace(" STREET "," ST ");
sb = sb.Replace(" AVENUE "," AVE ");
sb = sb.Replace(" AVE "," AVE ");
sb = sb.Replace(" ROAD "," RD ");
sb = sb.Replace(" RD "," RD ");
sb = sb.Replace(" BOULEVARD "," BLVD ");
sb = sb.Replace(" BLVD "," BLVD ");
sb = sb.Replace(" STE "," SUITE ");
sb = sb.Replace(" STE. "," SUITE ");
sb = sb.Replace(" SUITE "," SUITE ");
sb = sb.Replace(" HIGHWAY "," HWY ");
sb = sb.Replace(" HWY"," HWY ");
sb = sb.Replace(" PLACE "," PL ");
sb = sb.Replace(" ROUTE "," ROUTE ");
sb = sb.Replace(" RTE "," ROUTE ");
sb = sb.Replace(" RT "," ROUTE ");
sb = sb.Replace(" TERRACE "," TERRACE");
sb = sb.Replace(" TERR "," TERRACE ");
sb = sb.Replace(" TERACE "," TERRACE ");
sb = sb.Replace(" ALLEE "," ALY ");
sb = sb.Replace(" ALLEY "," ALY ");
sb = sb.Replace(" ALLY "," ALY ");
sb = sb.Replace(" ALY "," ALY ");
sb = sb.Replace(" ANEX "," ANX ");
sb = sb.Replace(" ANNEX "," ANX ");
sb = sb.Replace(" ANNX "," ANX ");
sb = sb.Replace(" ANX "," ANX ");
sb = sb.Replace(" ARC "," ARC ");
sb = sb.Replace(" ARCADE "," ARC ");
sb = sb.Replace(" AV "," ");
sb = sb.Replace(" AVE "," AVE ");
sb = sb.Replace(" AVEN "," AVE ");
sb = sb.Replace(" AVENU "," AVE ");
sb = sb.Replace(" AVENUE "," AVE ");
sb = sb.Replace(" AVN "," AVE ");
sb = sb.Replace(" AVNUE "," AVE ");
sb = sb.Replace(" BAYOO "," BYU ");
sb = sb.Replace(" BAYOU "," BYU ");
sb = sb.Replace(" BCH "," BCH ");
sb = sb.Replace(" BEACH "," BCH ");
sb = sb.Replace(" BEND "," BND ");
sb = sb.Replace(" BND "," BND ");
sb = sb.Replace(" BLF "," BLF ");
sb = sb.Replace(" BLUF "," BLF ");
sb = sb.Replace(" BLUFF "," BLF ");
sb = sb.Replace(" BLUFFS "," BLFS ");
sb = sb.Replace(" BOT "," BTM ");
sb = sb.Replace(" BOTTM "," BTM ");
sb = sb.Replace(" BOTTOM "," BTM ");
sb = sb.Replace(" BTM "," BTM ");
sb = sb.Replace(" BLVD "," BLVD ");
sb = sb.Replace(" BOUL "," BLVD ");
sb = sb.Replace(" BOULEVARD "," BLVD ");
sb = sb.Replace(" BOULV "," BLVD ");
sb = sb.Replace(" BR "," BR ");
sb = sb.Replace(" BRANCH "," BR ");
sb = sb.Replace(" BRNCH "," BR ");
sb = sb.Replace(" BRDGE "," BRG ");
sb = sb.Replace(" BRG "," BRG ");
sb = sb.Replace(" BRIDGE "," BRG ");
sb = sb.Replace(" BRK "," BRK ");
sb = sb.Replace(" BROOK "," BRK ");
sb = sb.Replace(" BROOKS "," BRKS ");
sb = sb.Replace(" BURG "," BG ");
sb = sb.Replace(" BURGS "," BGS ");
sb = sb.Replace(" BYP "," BYP ");
sb = sb.Replace(" BYPA "," BYP ");
sb = sb.Replace(" BYPAS "," BYP ");
sb = sb.Replace(" BYPASS "," BYP ");
sb = sb.Replace(" BYPS "," BYP ");
sb = sb.Replace(" CAMP "," CP ");
sb = sb.Replace(" CMP "," CP ");
sb = sb.Replace(" CP "," CP ");
sb = sb.Replace(" CANYN "," CYN ");
sb = sb.Replace(" CANYON "," CYN ");
sb = sb.Replace(" CNYN "," CYN ");
sb = sb.Replace(" CYN "," CYN ");
sb = sb.Replace(" CAPE "," CPE ");
sb = sb.Replace(" CPE "," CPE ");
sb = sb.Replace(" CAUSEWAY "," CSWY ");
sb = sb.Replace(" CAUSWAY "," CSWY ");
sb = sb.Replace(" CSWY "," CSWY ");
sb = sb.Replace(" CEN "," CTR ");
sb = sb.Replace(" CENT "," CTR ");
sb = sb.Replace(" CENTER "," CTR ");
sb = sb.Replace(" CENTR "," CTR ");
sb = sb.Replace(" CENTRE "," CTR ");
sb = sb.Replace(" CNTER "," CTR ");
sb = sb.Replace(" CNTR "," CTR ");
sb = sb.Replace(" CTR "," CTR ");
sb = sb.Replace(" CENTERS "," CTRS ");
sb = sb.Replace(" CIR "," CIR ");
sb = sb.Replace(" CIRC "," CIR ");
sb = sb.Replace(" CIRCL "," CIR ");
sb = sb.Replace(" CIRCLE "," CIR ");
sb = sb.Replace(" CRCL "," CIR ");
sb = sb.Replace(" CRCLE "," CIR ");
sb = sb.Replace(" CIRCLES "," CIRS ");
sb = sb.Replace(" CLF "," CLF ");
sb = sb.Replace(" CLIFF "," CLF ");
sb = sb.Replace(" CLFS "," CLFS ");
sb = sb.Replace(" CLIFFS "," CLFS ");
sb = sb.Replace(" CLB "," CLB ");
sb = sb.Replace(" CLUB "," CLB ");
sb = sb.Replace(" COMMON "," CMN ");
sb = sb.Replace(" COR "," COR ");
sb = sb.Replace(" CORNER "," COR ");
sb = sb.Replace(" CORNERS "," CORS ");
sb = sb.Replace(" CORS "," CORS ");
sb = sb.Replace(" COURSE "," CRSE ");
sb = sb.Replace(" CRSE "," CRSE ");
sb = sb.Replace(" COURT "," CT ");
sb = sb.Replace(" CRT "," CT ");
sb = sb.Replace(" CT "," CT ");
sb = sb.Replace(" COURTS "," CTS ");
sb = sb.Replace(" CT "," CTS ");
sb = sb.Replace(" COVE "," CV ");
sb = sb.Replace(" CV "," CV ");
sb = sb.Replace(" COVES "," CVS ");
sb = sb.Replace(" CK "," CRK ");
sb = sb.Replace(" CR "," CRK ");
sb = sb.Replace(" CREEK "," CRK ");
sb = sb.Replace(" CRK "," CRK ");
sb = sb.Replace(" CRECENT "," CRES ");
sb = sb.Replace(" CRES "," CRES ");
sb = sb.Replace(" CRESCENT "," CRES ");
sb = sb.Replace(" CRESENT "," CRES ");
sb = sb.Replace(" CRSCNT "," CRES ");
sb = sb.Replace(" CRSENT "," CRES ");
sb = sb.Replace(" CRSNT "," CRES ");
sb = sb.Replace(" CREST "," CRST ");
sb = sb.Replace(" CROSSING "," XING ");
sb = sb.Replace(" CRSSING "," XING ");
sb = sb.Replace(" CRSSNG "," XING ");
sb = sb.Replace(" XING "," XING ");
sb = sb.Replace(" CROSSROAD "," XRD ");
sb = sb.Replace(" CURVE "," CURV ");
sb = sb.Replace(" DALE "," DL ");
sb = sb.Replace(" DL "," DL ");
sb = sb.Replace(" DAM "," DM ");
sb = sb.Replace(" DM "," DM ");
sb = sb.Replace(" DIV "," DV ");
sb = sb.Replace(" DIVIDE "," DV ");
sb = sb.Replace(" DV "," DV ");
sb = sb.Replace(" DVD "," DV ");
sb = sb.Replace(" DR "," DR ");
sb = sb.Replace(" DRIV "," DR ");
sb = sb.Replace(" DRIVE "," DR ");
sb = sb.Replace(" DRV "," DR ");
sb = sb.Replace(" DRIVES "," DRS ");
sb = sb.Replace(" EST "," EST ");
sb = sb.Replace(" ESTATE "," EST ");
sb = sb.Replace(" ESTATES "," ESTS ");
sb = sb.Replace(" ESTS "," ESTS ");
sb = sb.Replace(" EXP "," EXPY ");
sb = sb.Replace(" EXPR "," EXPY ");
sb = sb.Replace(" EXPRESS "," EXPY ");
sb = sb.Replace(" EXPRESSWAY "," EXPY ");
sb = sb.Replace(" EXPW "," EXPY ");
sb = sb.Replace(" EXPY "," EXPY ");
sb = sb.Replace(" EXT "," EXT ");
sb = sb.Replace(" EXTENSION "," EXT ");
sb = sb.Replace(" EXTN "," EXT ");
sb = sb.Replace(" EXTNSN "," EXT ");
sb = sb.Replace(" EXTENSIONS "," EXTS ");
sb = sb.Replace(" EXTS "," EXTS ");
sb = sb.Replace(" FALL "," FALL ");
sb = sb.Replace(" FALLS "," FLS ");
sb = sb.Replace(" FLS "," FLS ");
sb = sb.Replace(" FERRY "," FRY ");
sb = sb.Replace(" FRRY "," FRY ");
sb = sb.Replace(" FRY "," FRY ");
sb = sb.Replace(" FIELD "," FLD ");
sb = sb.Replace(" FLD "," FLD ");
sb = sb.Replace(" FIELDS "," FLDS ");
sb = sb.Replace(" FLDS "," FLDS ");
sb = sb.Replace(" FLAT "," FLT ");
sb = sb.Replace(" FLT "," FLT ");
sb = sb.Replace(" FLATS "," FLTS ");
sb = sb.Replace(" FLTS "," FLTS ");
sb = sb.Replace(" FORD "," FRD ");
sb = sb.Replace(" FRD "," FRD ");
sb = sb.Replace(" FORDS "," FRDS ");
sb = sb.Replace(" FOREST "," FRST ");
sb = sb.Replace(" FORESTS "," FRST ");
sb = sb.Replace(" FRST "," FRST ");
sb = sb.Replace(" FORG "," FRG ");
sb = sb.Replace(" FORGE "," FRG ");
sb = sb.Replace(" FRG "," FRG ");
sb = sb.Replace(" FORGES "," FRGS ");
sb = sb.Replace(" FORK "," FRK ");
sb = sb.Replace(" FRK "," FRK ");
sb = sb.Replace(" FORKS "," FRKS ");
sb = sb.Replace(" FRKS "," FRKS ");
sb = sb.Replace(" FORT "," FT ");
sb = sb.Replace(" FRT "," FT ");
sb = sb.Replace(" FT "," FT ");
sb = sb.Replace(" FREEWAY "," FWY ");
sb = sb.Replace(" FREEWY "," FWY ");
sb = sb.Replace(" FRWAY "," FWY ");
sb = sb.Replace(" FRWY "," FWY ");
sb = sb.Replace(" FWY "," FWY ");
sb = sb.Replace(" GARDEN "," GDN ");
sb = sb.Replace(" GARDN "," GDN ");
sb = sb.Replace(" GDN "," GDN ");
sb = sb.Replace(" GRDEN "," GDN ");
sb = sb.Replace(" GRDN "," GDN ");
sb = sb.Replace(" GARDENS "," GDNS ");
sb = sb.Replace(" GDNS "," GDNS ");
sb = sb.Replace(" GRDNS "," GDNS ");
sb = sb.Replace(" GATEWAY "," GTWY ");
sb = sb.Replace(" GATEWY "," GTWY ");
sb = sb.Replace(" GATWAY "," GTWY ");
sb = sb.Replace(" GTWAY "," GTWY ");
sb = sb.Replace(" GTWY "," GTWY ");
sb = sb.Replace(" GLEN "," GLN ");
sb = sb.Replace(" GLN "," GLN ");
sb = sb.Replace(" GLENS "," GLNS ");
sb = sb.Replace(" GREEN "," GRN ");
sb = sb.Replace(" GRN "," GRN ");
sb = sb.Replace(" GREENS "," GRNS ");
sb = sb.Replace(" GROV "," GRV ");
sb = sb.Replace(" GROVE "," GRV ");
sb = sb.Replace(" GRV "," GRV ");
sb = sb.Replace(" GROVES "," GRVS ");
sb = sb.Replace(" HARB "," HBR ");
sb = sb.Replace(" HARBOR "," HBR ");
sb = sb.Replace(" HARBR "," HBR ");
sb = sb.Replace(" HBR "," HBR ");
sb = sb.Replace(" HRBOR "," HBR ");
sb = sb.Replace(" HARBORS "," HBRS ");
sb = sb.Replace(" HAVEN "," HVN ");
sb = sb.Replace(" HAVN "," HVN ");
sb = sb.Replace(" HVN "," HVN ");
sb = sb.Replace(" HEIGHT "," HTS ");
sb = sb.Replace(" HEIGHTS "," HTS ");
sb = sb.Replace(" HGTS "," HTS ");
sb = sb.Replace(" HT "," HTS ");
sb = sb.Replace(" HTS "," HTS ");
sb = sb.Replace(" HIGHWAY "," HWY ");
sb = sb.Replace(" HIGHWY "," HWY ");
sb = sb.Replace(" HIWAY "," HWY ");
sb = sb.Replace(" HIWY "," HWY ");
sb = sb.Replace(" HWAY "," HWY ");
sb = sb.Replace(" HWY "," HWY ");
sb = sb.Replace(" HILL "," HL ");
sb = sb.Replace(" HL "," HL ");
sb = sb.Replace(" HILLS "," HLS ");
sb = sb.Replace(" HLS "," HLS ");
sb = sb.Replace(" HLLW "," HOLW ");
sb = sb.Replace(" HOLLOW "," HOLW ");
sb = sb.Replace(" HOLLOWS "," HOLW ");
sb = sb.Replace(" HOLW "," HOLW ");
sb = sb.Replace(" HOLWS "," HOLW ");
sb = sb.Replace(" INLET "," INLT ");
sb = sb.Replace(" INLT "," INLT ");
sb = sb.Replace(" IS "," IS ");
sb = sb.Replace(" ISLAND "," IS ");
sb = sb.Replace(" ISLND "," IS ");
sb = sb.Replace(" ISLANDS "," ISS ");
sb = sb.Replace(" ISLNDS "," ISS ");
sb = sb.Replace(" ISS "," ISS ");
sb = sb.Replace(" ISLE "," ISLE ");
sb = sb.Replace(" ISLES "," ISLE ");
sb = sb.Replace(" JCT "," JCT ");
sb = sb.Replace(" JCTION "," JCT ");
sb = sb.Replace(" JCTN "," JCT ");
sb = sb.Replace(" JUNCTION "," JCT ");
sb = sb.Replace(" JUNCTN "," JCT ");
sb = sb.Replace(" JUNCTON "," JCT ");
sb = sb.Replace(" JCTNS "," JCTS ");
sb = sb.Replace(" JCTS "," JCTS ");
sb = sb.Replace(" JUNCTIONS "," JCTS ");
sb = sb.Replace(" KEY "," KY ");
sb = sb.Replace(" KY "," KY ");
sb = sb.Replace(" KEYS "," KYS ");
sb = sb.Replace(" KYS "," KYS ");
sb = sb.Replace(" KNL "," KNL ");
sb = sb.Replace(" KNOL "," KNL ");
sb = sb.Replace(" KNOLL "," KNL ");
sb = sb.Replace(" KNLS "," KNLS ");
sb = sb.Replace(" KNOLLS "," KNLS ");
sb = sb.Replace(" LAKE "," LK ");
sb = sb.Replace(" LK "," LK ");
sb = sb.Replace(" LAKES "," LKS ");
sb = sb.Replace(" LKS "," LKS ");
sb = sb.Replace(" LAND "," LAND ");
sb = sb.Replace(" LANDING "," LNDG ");
sb = sb.Replace(" LNDG "," LNDG ");
sb = sb.Replace(" LNDNG "," LNDG ");
sb = sb.Replace(" LA "," LN ");
sb = sb.Replace(" LANE "," LN ");
sb = sb.Replace(" LANES "," LN ");
sb = sb.Replace(" LN "," LN ");
sb = sb.Replace(" LGT "," LGT ");
sb = sb.Replace(" LIGHT "," LGT ");
sb = sb.Replace(" LIGHTS "," LGTS ");
sb = sb.Replace(" LF "," LF ");
sb = sb.Replace(" LOAF "," LF ");
sb = sb.Replace(" LCK "," LCK ");
sb = sb.Replace(" LOCK "," LCK ");
sb = sb.Replace(" LCKS "," LCKS ");
sb = sb.Replace(" LOCKS "," LCKS ");
sb = sb.Replace(" LDG "," LDG ");
sb = sb.Replace(" LDGE "," LDG ");
sb = sb.Replace(" LODG "," LDG ");
sb = sb.Replace(" LODGE "," LDG ");
sb = sb.Replace(" LOOP "," LOOP ");
sb = sb.Replace(" LOOPS "," LOOP ");
sb = sb.Replace(" MALL "," MALL ");
sb = sb.Replace(" MANOR "," MNR ");
sb = sb.Replace(" MNR "," MNR ");
sb = sb.Replace(" MANORS "," MNRS ");
sb = sb.Replace(" MNRS "," MNRS ");
sb = sb.Replace(" MDW "," MDW ");
sb = sb.Replace(" MEADOW "," MDW ");
sb = sb.Replace(" MDWS "," MDWS ");
sb = sb.Replace(" MEADOWS "," MDWS ");
sb = sb.Replace(" MEDOWS "," MDWS ");
sb = sb.Replace(" MEWS "," MEWS ");
sb = sb.Replace(" MILL "," ML ");
sb = sb.Replace(" ML "," ML ");
sb = sb.Replace(" MILLS "," MLS ");
sb = sb.Replace(" MLS "," MLS ");
sb = sb.Replace(" MISSION "," MSN ");
sb = sb.Replace(" MISSN "," MSN ");
sb = sb.Replace(" MSN "," MSN ");
sb = sb.Replace(" MSSN "," MSN ");
sb = sb.Replace(" MOTORWAY "," MTWY ");
sb = sb.Replace(" MNT "," MT ");
sb = sb.Replace(" MOUNT "," MT ");
sb = sb.Replace(" MT "," MT ");
sb = sb.Replace(" MNTAIN "," MTN ");
sb = sb.Replace(" MNTN "," MTN ");
sb = sb.Replace(" MOUNTAIN "," MTN ");
sb = sb.Replace(" MOUNTIN "," MTN ");
sb = sb.Replace(" MTIN "," MTN ");
sb = sb.Replace(" MTN "," MTN ");
sb = sb.Replace(" MNTNS "," MTNS ");
sb = sb.Replace(" MOUNTAINS "," MTNS ");
sb = sb.Replace(" NCK "," NCK ");
sb = sb.Replace(" NECK "," NCK ");
sb = sb.Replace(" ORCH "," ORCH ");
sb = sb.Replace(" ORCHARD "," ORCH ");
sb = sb.Replace(" ORCHRD "," ORCH ");
sb = sb.Replace(" OVAL "," OVAL ");
sb = sb.Replace(" OVL "," OVAL ");
sb = sb.Replace(" OVERPASS "," OPAS ");
sb = sb.Replace(" PARK "," PARK ");
sb = sb.Replace(" PK "," PARK ");
sb = sb.Replace(" PRK "," PARK ");
sb = sb.Replace(" PARKS "," PARK ");
sb = sb.Replace(" PARKWAY "," PKWY ");
sb = sb.Replace(" PARKWY "," PKWY ");
sb = sb.Replace(" PKWAY "," PKWY ");
sb = sb.Replace(" PKWY "," PKWY ");
sb = sb.Replace(" PKY "," PKWY ");
sb = sb.Replace(" PARKWAYS "," PKWY ");
sb = sb.Replace(" PKWYS "," PKWY ");
sb = sb.Replace(" PASS "," PASS ");
sb = sb.Replace(" PASSAGE "," PSGE ");
sb = sb.Replace(" PATH "," PATH ");
sb = sb.Replace(" PATHS "," PATH ");
sb = sb.Replace(" PIKE "," PIKE ");
sb = sb.Replace(" PIKES "," PIKE ");
sb = sb.Replace(" PINE "," PNE ");
sb = sb.Replace(" PINES "," PNES ");
sb = sb.Replace(" PNES "," PNES ");
sb = sb.Replace(" PL "," PL ");
sb = sb.Replace(" PLACE "," PL ");
sb = sb.Replace(" PLAIN "," PLN ");
sb = sb.Replace(" PLN "," PLN ");
sb = sb.Replace(" PLAINES "," PLNS ");
sb = sb.Replace(" PLAINS "," PLNS ");
sb = sb.Replace(" PLNS "," PLNS ");
sb = sb.Replace(" PLAZA "," PLZ ");
sb = sb.Replace(" PLZ "," PLZ ");
sb = sb.Replace(" PLZA "," PLZ ");
sb = sb.Replace(" POINT "," PT ");
sb = sb.Replace(" PT "," PT ");
sb = sb.Replace(" POINTS "," PTS ");
sb = sb.Replace(" PTS "," PTS ");
sb = sb.Replace(" PORT "," PRT ");
sb = sb.Replace(" PRT "," PRT ");
sb = sb.Replace(" PORTS "," PRTS ");
sb = sb.Replace(" PRTS "," PRTS ");
sb = sb.Replace(" PR "," PR ");
sb = sb.Replace(" PRAIRIE "," PR ");
sb = sb.Replace(" PRARIE "," PR ");
sb = sb.Replace(" PRR "," PR ");
sb = sb.Replace(" RAD "," RADL ");
sb = sb.Replace(" RADIAL "," RADL ");
sb = sb.Replace(" RADIEL "," RADL ");
sb = sb.Replace(" RADL "," RADL ");
sb = sb.Replace(" RAMP "," RAMP ");
sb = sb.Replace(" RANCH "," RNCH ");
sb = sb.Replace(" RANCHES "," RNCH ");
sb = sb.Replace(" RNCH "," RNCH ");
sb = sb.Replace(" RNCHS "," RNCH ");
sb = sb.Replace(" RAPID "," RPD ");
sb = sb.Replace(" RPD "," RPD ");
sb = sb.Replace(" RAPIDS "," RPDS ");
sb = sb.Replace(" RPDS "," RPDS ");
sb = sb.Replace(" REST "," RST ");
sb = sb.Replace(" RST "," RST ");
sb = sb.Replace(" RDG "," RDG ");
sb = sb.Replace(" RDGE "," RDG ");
sb = sb.Replace(" RIDGE "," RDG ");
sb = sb.Replace(" RDGS "," RDGS ");
sb = sb.Replace(" RIDGES "," RDGS ");
sb = sb.Replace(" RIV "," RIV ");
sb = sb.Replace(" RIVER "," RIV ");
sb = sb.Replace(" RIVR "," RIV ");
sb = sb.Replace(" RVR "," RIV ");
sb = sb.Replace(" RD "," RD ");
sb = sb.Replace(" ROAD "," RD ");
sb = sb.Replace(" RDS "," RDS ");
sb = sb.Replace(" ROADS "," RDS ");
sb = sb.Replace(" ROUTE "," RTE ");
sb = sb.Replace(" ROW "," ROW ");
sb = sb.Replace(" RUE "," RUE ");
sb = sb.Replace(" RUN "," RUN ");
sb = sb.Replace(" SHL "," SHL ");
sb = sb.Replace(" SHOAL "," SHL ");
sb = sb.Replace(" SHLS "," SHLS ");
sb = sb.Replace(" SHOALS "," SHLS ");
sb = sb.Replace(" SHOAR "," SHR ");
sb = sb.Replace(" SHORE "," SHR ");
sb = sb.Replace(" SHR "," SHR ");
sb = sb.Replace(" SHOARS "," SHRS ");
sb = sb.Replace(" SHORES "," SHRS ");
sb = sb.Replace(" SHRS "," SHRS ");
sb = sb.Replace(" SKYWAY "," SKWY ");
sb = sb.Replace(" SPG "," SPG ");
sb = sb.Replace(" SPNG "," SPG ");
sb = sb.Replace(" SPRING "," SPG ");
sb = sb.Replace(" SPRNG "," SPG ");
sb = sb.Replace(" SPGS "," SPGS ");
sb = sb.Replace(" SPNGS "," SPGS ");
sb = sb.Replace(" SPRINGS "," SPGS ");
sb = sb.Replace(" SPRNGS "," SPGS ");
sb = sb.Replace(" SPUR "," SPUR ");
sb = sb.Replace(" SPURS "," SPUR ");
sb = sb.Replace(" SQ "," SQ ");
sb = sb.Replace(" SQR "," SQ ");
sb = sb.Replace(" SQRE "," SQ ");
sb = sb.Replace(" SQU "," SQ ");
sb = sb.Replace(" SQUARE "," SQ ");
sb = sb.Replace(" SQRS "," SQS ");
sb = sb.Replace(" SQUARES "," SQS ");
sb = sb.Replace(" STA "," STA ");
sb = sb.Replace(" STATION "," STA ");
sb = sb.Replace(" STATN "," STA ");
sb = sb.Replace(" STN "," STA ");
sb = sb.Replace(" STRA "," STRA ");
sb = sb.Replace(" STRAV "," STRA ");
sb = sb.Replace(" STRAVE "," STRA ");
sb = sb.Replace(" STRAVEN "," STRA ");
sb = sb.Replace(" STRAVENUE "," STRA ");
sb = sb.Replace(" STRAVN "," STRA ");
sb = sb.Replace(" STRVN "," STRA ");
sb = sb.Replace(" STRVNUE "," STRA ");
sb = sb.Replace(" STREAM "," STRM ");
sb = sb.Replace(" STREME "," STRM ");
sb = sb.Replace(" STRM "," STRM ");
sb = sb.Replace(" ST "," ST ");
sb = sb.Replace(" STR "," ST ");
sb = sb.Replace(" STREET "," ST ");
sb = sb.Replace(" STRT "," ST ");
sb = sb.Replace(" STREETS "," STS ");
sb = sb.Replace(" SMT "," SMT ");
sb = sb.Replace(" SUMIT "," SMT ");
sb = sb.Replace(" SUMITT "," SMT ");
sb = sb.Replace(" SUMMIT "," SMT ");
sb = sb.Replace(" TER "," TER ");
sb = sb.Replace(" TERR "," TER ");
sb = sb.Replace(" TERRACE "," TER ");
sb = sb.Replace(" THROUGHWAY "," TRWY ");
sb = sb.Replace(" TRACE "," TRCE ");
sb = sb.Replace(" TRACES "," TRCE ");
sb = sb.Replace(" TRCE "," TRCE ");
sb = sb.Replace(" TRACK "," TRAK ");
sb = sb.Replace(" TRACKS "," TRAK ");
sb = sb.Replace(" TRAK "," TRAK ");
sb = sb.Replace(" TRK "," TRAK ");
sb = sb.Replace(" TRKS "," TRAK ");
sb = sb.Replace(" TRAFFICWAY "," TRFY ");
sb = sb.Replace(" TRFY "," TRFY ");
sb = sb.Replace(" TR "," TRL ");
sb = sb.Replace(" TRAIL "," TRL ");
sb = sb.Replace(" TRAILS "," TRL ");
sb = sb.Replace(" TRL "," TRL ");
sb = sb.Replace(" TRLS "," TRL ");
sb = sb.Replace(" TUNEL "," TUNL ");
sb = sb.Replace(" TUNL "," TUNL ");
sb = sb.Replace(" TUNLS "," TUNL ");
sb = sb.Replace(" TUNNEL "," TUNL ");
sb = sb.Replace(" TUNNELS "," TUNL ");
sb = sb.Replace(" TUNNL "," TUNL ");
sb = sb.Replace(" TPK "," TPKE ");
sb = sb.Replace(" TPKE "," TPKE ");
sb = sb.Replace(" TRNPK "," TPKE ");
sb = sb.Replace(" TRPK "," TPKE ");
sb = sb.Replace(" TURNPIKE "," TPKE ");
sb = sb.Replace(" TURNPK "," TPKE ");
sb = sb.Replace(" UNDERPASS "," UPAS ");
sb = sb.Replace(" UN "," UN ");
sb = sb.Replace(" UNION "," UN ");
sb = sb.Replace(" UNIONS "," UNS ");
sb = sb.Replace(" VALLEY "," VLY ");
sb = sb.Replace(" VALLY "," VLY ");
sb = sb.Replace(" VLLY "," VLY ");
sb = sb.Replace(" VLY "," VLY ");
sb = sb.Replace(" VALLEYS "," VLYS ");
sb = sb.Replace(" VLYS "," VLYS ");
sb = sb.Replace(" VDCT "," VIA ");
sb = sb.Replace(" VIA "," VIA ");
sb = sb.Replace(" VIADCT "," VIA ");
sb = sb.Replace(" VIADUCT "," VIA ");
sb = sb.Replace(" VIEW "," VW ");
sb = sb.Replace(" VW "," VW ");
sb = sb.Replace(" VIEWS "," VWS ");
sb = sb.Replace(" VWS "," VWS ");
sb = sb.Replace(" VILL "," VLG ");
sb = sb.Replace(" VILLAG "," VLG ");
sb = sb.Replace(" VILLAGE "," VLG ");
sb = sb.Replace(" VILLG "," VLG ");
sb = sb.Replace(" VILLIAGE "," VLG ");
sb = sb.Replace(" VLG "," VLG ");
sb = sb.Replace(" VILLAGES "," VLGS ");
sb = sb.Replace(" VLGS "," VLGS ");
sb = sb.Replace(" VILLE "," VL ");
sb = sb.Replace(" VL "," VL ");
sb = sb.Replace(" VIS "," VIS ");
sb = sb.Replace(" VIST "," VIS ");
sb = sb.Replace(" VISTA "," VIS ");
sb = sb.Replace(" VST "," VIS ");
sb = sb.Replace(" VSTA "," VIS ");
sb = sb.Replace(" WALK "," WALK ");
sb = sb.Replace(" WALKS "," WALK ");
sb = sb.Replace(" WALL "," WALL ");
sb = sb.Replace(" WAY "," WAY ");
sb = sb.Replace(" WY "," WAY ");
sb = sb.Replace(" WAYS "," WAYS ");
sb = sb.Replace(" WELL "," WL ");
sb = sb.Replace(" WELLS "," WLS ");
sb = sb.Replace(" WLS "," WLS ");
sb = sb.Replace(" APARTMENT "," APT ");
sb = sb.Replace(" BASEMENT "," BSMT ");
sb = sb.Replace(" BUILDING "," BLDG ");
sb = sb.Replace(" DEPARTMENT "," DEPT ");
sb = sb.Replace(" FLOOR "," FL ");
sb = sb.Replace(" FRONT "," FRNT ");
sb = sb.Replace(" HANGAR "," HNGR ");
sb = sb.Replace(" LOBBY "," LBBY ");
sb = sb.Replace(" LOT "," LOT ");
sb = sb.Replace(" LOWER "," LOWR ");
sb = sb.Replace(" OFFICE "," OFC ");
sb = sb.Replace(" PENTHOUSE "," PH ");
sb = sb.Replace(" PIER "," PIER ");
sb = sb.Replace(" REAR "," REAR ");
sb = sb.Replace(" ROOM "," RM ");
sb = sb.Replace(" SIDE "," SIDE ");
sb = sb.Replace(" SLIP "," SLIP ");
sb = sb.Replace(" SPACE "," SPC ");
sb = sb.Replace(" STOP "," STOP ");
sb = sb.Replace(" TRAILER "," TRLR ");
sb = sb.Replace(" UNIT "," UNIT ");
sb = sb.Replace(" UPPER "," UPPR ");
string temp = sb.ToString();
sb=null;
temp = Regex.Replace(temp, @"(?<num>\d+)\s+N(?>!D)",@"${num} NORTH"); //digit followed by (N,S,E,W)
temp = Regex.Replace(temp, @"(?<num>\d+)\s+S(?>!T)",@"${num} SOUTH"); //ignoring '1st' & '2nd'
temp = Regex.Replace(temp, @"(?<num>\d+)\s+E",@"${num} EAST");
temp = Regex.Replace(temp, @"(?<num>\d+)\s+W",@"${num} WEST");
temp = Regex.Replace(temp, @"\b(NE|NORTHE)\b","NORTH EAST");
temp = Regex.Replace(temp, @"\b(NW|NORTHW)\b","NORTH WEST");
temp = Regex.Replace(temp, @"\b(SW|SOUTHW)\b","SOUTH WEST");
temp = Regex.Replace(temp, @"\b(SE|SOUTHE)\b","SOUTH EAST");
temp = Regex.Replace(temp, @"(?<!(BLDG|SUITE) )\bN\b","NORTH"); //Matches (N,S,E,W) w/o 'BLDG' or 'SUITE' behind it
temp = Regex.Replace(temp, @"(?<!(BLDG|SUITE) )\bS\b","SOUTH");
temp = Regex.Replace(temp, @"(?<!(BLDG|SUITE) )\bE\b","EAST");
temp = Regex.Replace(temp, @"(?<!(BLDG|SUITE) )\bW\b","WEST");
return temp.Trim();
}//============ End CorrectAddress() =====
//---------------------------------------------------------------------------|
public string CleanPhone(string inString) //++++++++++++ Cleans Phone ++++++++++++
{
//Cleans out non-numeric digits from phone numbers
StringBuilder sb = new StringBuilder();
foreach (char c in inString)
{
if (char.IsNumber(c))
sb.Append(c);
}
return sb.ToString();
}//============ End CleanPhone() ========
//---------------------------------------------------------------------------|
public string CleanString(string inString)//++++++++++++ Cleans Strings ++++++++++
{
//Removes various characters that we do not wish to have stored in our DB
inString=inString.ToUpper();
inString=Regex.Replace(inString,@"\s+"," ");
inString=Regex.Replace(inString,@"[,.'|_+=!@#^&*~<>?{}[\]`\r\n\t]","");
inString.Replace(" ", " "); //Removes double spaces
inString.Replace(" -", "-"); //the next two lines force a hyphenated words
inString.Replace("- ", "-"); //together (ie. woo - hoo to woo-hoo)
inString=inString.Trim();
return inString;
}//=========== End CleanString() ===========
//---------------------------------------------------------------------------|
public string CleanZip(string inString)//============ Cleans Zip Codes ========
{
//Removes non-numeric characters from Zip Code
StringBuilder sb = new StringBuilder();
foreach (char c in inString)
{
if (char.IsNumber(c))
sb.Append(c);
}
return sb.ToString();
}//=========== End CleanZip() ==========
//---------------------------------------------------------------------------|
public string DispDate (string MDate)
{
//Displays dates in the mm/dd/yyyy format
string NewDate;
MDate = MDate.Trim();
if (MDate == "")
return MDate;
if (!ValidDate(MDate))
return MDate;
if (Regex.IsMatch(MDate,@"\d{1,2}/\d{1,2}/(\d{4}|\d{2})") ||
Regex.IsMatch(MDate,@"\d{1,2}-\d{1,2}-(\d{4}|\d{2})"))
{
return(Convert.ToDateTime(MDate).ToString("MM/dd/yyyy"));
}
else
{
if (Convert.ToInt16(MDate.Substring(0, 2)) > 12) //Format yyyymmdd
{
NewDate = MDate.Substring(4, 2) + "/" + MDate.Substring(6, 2) + "/" + MDate.Substring(0, 4);
}
else //Format mmddyyyy
{
NewDate = MDate.Substring(0, 2) + "/" + MDate.Substring(2, 2) + "/" + MDate.Substring(4, 4);
}
return NewDate;
}
}
//---------------------------------------------------------------------------|
public string DispPhone(string Phone)//++++++++++++ Puts Phone in a readable format ++++++
{
//Displays Phone numbers in a standard format
int Pos = 0;
StringBuilder sb = new StringBuilder();
if (Phone.Length == 11)
Phone = Phone.Substring(1, 10);
if (Phone.Length != 11 && Phone.Length != 10 && Phone.Length != 7 && Phone != "")
return "Invalid Phone Format";
foreach (char c in Phone)
{
Pos++;
sb.Append(c);
if (Phone.Length == 11) //format: 1 (111) 111-1111
{
switch (Pos)
{
case 1:
{
sb.Append(" (");
break;
}
case 4:
{
sb.Append(") ");
break;
}
case 7:
{
sb.Append("-");
break;
}
}
}
if (Phone.Length == 10) //format: (111) 111-1111
{
switch (Pos)
{
case 1:
{
sb.Insert(0, "(");
break;
}
case 3:
{
sb.Append(") ");
break;
}
case 6:
{
sb.Append("-");
break;
}
}
}
if (Phone.Length == 7) //format: 111-1111
{
switch (Pos)
{
case 3:
{
sb.Append("-");
break;
}
}
}
}
return sb.ToString();
}//============ End DispPhone() =========
//---------------------------------------------------------------------------|
public string DispZip(string ZipCode)//+++++++++++ Puts Zip Codes in a Readable Format +++++++++++++
{
if (ZipCode.Length != 9 && ZipCode.Length != 5 && ZipCode != "")
return "Invalid Zip Format";
StringBuilder sb = new StringBuilder(ZipCode);
if (ZipCode.Length == 9) //format: 11111-1111
{
sb.Insert(5, "-");
}
return sb.ToString();
}//=========== End DispZip() ===========
//---------------------------------------------------------------------------|
public string ModNum(string Num)//+++++++++ Moves the Decimal point to the 3rd from last character
{
if (!ValidNum(Num))
return Num;
StringBuilder sb = new StringBuilder();
int Loc = 0, Len = Num.Trim().Length, PDLoc = -1;
if (Num.Trim().Length == 1) //if the number is only 1 character long, add 2 zeros (ex. assume that 2 = 2.00)
{
string temp = Num.Trim() + "00"; //Adding 2 zeros
Num = temp;
Len = Num.Length; //new length of number (should always be 3)
}
if (Num.Trim() != "")
{
foreach (char c in Num.Trim()) //Loops through the string to locate the decimal point
{
if (c.Equals('.'))
{
sb.Append(c); //Adds the Decimal point
PDLoc = Loc; //Location of the Decimal point in the string
}
if (char.IsNumber(c))
{
sb.Append(c); //Adds numbers
}
Loc++;
}
if ((PDLoc != Len - 3) && (PDLoc != -1)) //Moves the Decimal point to the 3rd from last spot of the string
{
sb.Replace(".", ""); //Replaces the Decimal point with "", if found anywhere other than 3rd from last position
sb.Insert((Len-3), '.');
}
if (PDLoc == -1) //Adds a Decimal point if there is not one found
{
sb.Insert((Len-2), '.');
}
}
return sb.ToString();
}//============ End ModNum() ============
//---------------------------------------------------------------------------|
#endregion
}
}
Good luck,
Kevin
- "The truth hurts, maybe not as much as jumping on a bicycle with no seat, but it hurts.