Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- This is a bit of code for a JS project I did for class. It was a HTML document that took in values from an Excel spreadsheet, parsed it into a certain format, and made a new Excel document with the converted data. It was really difficult.
- This function is a mess, but it worked because we only had a specific set of templates the address could take. This is the easiest way I could figure out how to do it in the time we had.
- The function with a ton of others on a loop through each row of the input Excel sheet. Otherwise, it's self explanatory, I think.
- //***********************************************************************************
- // Function: AddressFix(LoopCount)
- //
- // Author: Slyphoria
- //
- // Input: LoopCount from AddToRecordSet()
- //
- // Takes in Address from Excel, Turns the String into an Array, figures out what type of address it is,
- // changes the array accordingly, then prints out to a string to be returned to AddToRecordSet()
- //
- // Assumptions: These are the only street types and typos that will be entered.
- //
- // Returns: LineArray, edited.
- //
- //***********************************************************************************
- function AddressFix(LoopCount,activeSheet) {
- var Count = LoopCount;
- var TWO = 2;
- var AddressString = activeSheet.Cells(Count,TWO).Value;
- AddressString = AddressString.trim();
- var AddressSplit = AddressString.split(" "); //Make it into an array based on separation by spaces
- var AptFix = "";
- var RoadFix = "";
- var StreetFix = "";
- var AddressResult = "";
- var AptTest3x4 = /\d{3}-\d{4}/; //###-####
- var AptTest3x3 = /\d{3}-\d{3}/; //###-###
- var AptTest4 = /\d{4}/; //####
- var AptTest3 = /\d{3}/; //###
- if (AddressSplit[0] == "Ap"){
- AptFix = AddressSplit[1];
- AptFix = AptFix.slice(1, 4); //Leaves Apartment number
- RoadFix = AddressSplit[1];
- RoadFix = RoadFix.slice(4, RoadFix.length);
- StreetFix = AddressSplit[3];
- StreetFix = StreetFix.replace(/\W+/g,"");
- if ((StreetFix == "Road") || (StreetFix == "Rd.") || (StreetFix == "Rd,")){
- StreetFix = "Rd";
- } else if ((StreetFix == "Street") || (StreetFix == "St.") || (StreetFix == "St,")){
- StreetFix = "St";
- } else if ((StreetFix == "Avenue") || (StreetFix == "Av") || (StreetFix == "Ave.") || (StreetFix == "Ave,") || (StreetFix == "Av.") || (StreetFix == "Av,")){
- StreetFix = "Ave";
- }
- RoadFix = RoadFix + " " + AddressSplit[2] + " " + StreetFix;
- RoadFix = RoadFix.replace(/\W+\b/g," ");
- RoadFix = RoadFix.slice(1, RoadFix.length);
- AddressResult = RoadFix + ", Apt " + AptFix;
- } else if (AddressSplit[0] == "P.O."){
- RoadFix = AddressSplit[4];
- RoadFix = RoadFix.replace(/\W+\b/g,"");
- AddressSplit[4] = RoadFix;
- StreetFix = AddressSplit[5];
- StreetFix = StreetFix.replace(/\W+\b/g,"");
- if ((StreetFix == "Road") || (StreetFix == "Rd.") || (StreetFix == "Rd,")){
- StreetFix = "Rd";
- } else if ((StreetFix == "Street") || (StreetFix == "St.") || (StreetFix == "St,")){
- StreetFix = "St";
- } else if ((StreetFix == "Avenue") || (StreetFix == "Av") || (StreetFix == "Ave.") || (StreetFix == "Ave,") || (StreetFix == "Av.") || (StreetFix == "Av,")){
- StreetFix = "Ave";
- }
- AddressSplit[5] = StreetFix;
- AddressResult = AddressSplit.join(" ");
- } else if (AptTest3x4.test(AddressSplit[0]) ){
- AptFix = AddressSplit[0];
- AptFix = AptFix.slice(0, 3);
- AptFix = "Apt" + " " + AptFix;
- RoadFix = AddressSplit[0];
- RoadFix = RoadFix.slice(3, RoadFix.length);
- StreetFix = AddressSplit[2];
- StreetFix = StreetFix.replace(/\W+\b/g,"");
- if ((StreetFix == "Road") || (StreetFix == "Rd.") || (StreetFix == "Rd,")){
- StreetFix = "Rd";
- } else if ((StreetFix == "Street") || (StreetFix == "St.") || (StreetFix == "St,")){
- StreetFix = "St";
- } else if ((StreetFix == "Avenue") || (StreetFix == "Av") || (StreetFix == "Ave.") || (StreetFix == "Ave,") || (StreetFix == "Av.") || (StreetFix == "Av,")){
- StreetFix = "Ave";
- }
- RoadFix = RoadFix + " " + AddressSplit[1] + " " + StreetFix;
- RoadFix = RoadFix.replace(/\W+\b/g," ");
- RoadFix = RoadFix.slice(1, RoadFix.length);
- AddressResult = RoadFix + ", " + AptFix;
- } else if (AptTest3x3.test(AddressSplit[0]) ){
- AptFix = AddressSplit[0];
- AptFix = AptFix.slice(0, 3);
- AptFix = "Apt" + " " + AptFix;
- RoadFix = AddressSplit[0];
- RoadFix = RoadFix.slice(3, RoadFix.length);
- StreetFix = AddressSplit[2];
- StreetFix = StreetFix.replace(/\W+\b/g,"");
- if ((StreetFix == "Road") || (StreetFix == "Rd.") || (StreetFix == "Rd,")){
- StreetFix = "Rd";
- } else if ((StreetFix == "Street") || (StreetFix == "St.") || (StreetFix == "St,")){
- StreetFix = "St";
- } else if ((StreetFix == "Avenue") || (StreetFix == "Av") || (StreetFix == "Ave.") || (StreetFix == "Ave,") || (StreetFix == "Av.") || (StreetFix == "Av,")){
- StreetFix = "Ave";
- }
- RoadFix = RoadFix + " " + AddressSplit[1] + " " + StreetFix;
- RoadFix = RoadFix.replace(/\W+\b/g," ");
- RoadFix = RoadFix.slice(1, RoadFix.length);
- AddressResult = RoadFix + ", " + AptFix;
- } else if (AptTest4.test(AddressSplit[0]) ){
- RoadFix = AddressSplit[1];
- RoadFix = RoadFix.replace(/\W+\b/g,"");
- StreetFix = AddressSplit[2];
- StreetFix = StreetFix.replace(/\W+\b/g,"");
- if ((StreetFix == "Road") || (StreetFix == "Rd.") || (StreetFix == "Rd,")){
- StreetFix = "Rd";
- } else if ((StreetFix == "Street") || (StreetFix == "St.") || (StreetFix == "St,")){
- StreetFix = "St";
- } else if ((StreetFix == "Avenue") || (StreetFix == "Av") || (StreetFix == "Ave.") || (StreetFix == "Ave,") || (StreetFix == "Av.") || (StreetFix == "Av,")){
- StreetFix = "Ave";
- }
- AddressResult = AddressSplit[0] + " " + RoadFix + " " + StreetFix;
- } else if (AptTest3.test(AddressSplit[0]) ){
- RoadFix = AddressSplit[1];
- RoadFix = RoadFix.replace(/\W+\b/g,"");
- StreetFix = AddressSplit[2];
- StreetFix = StreetFix.replace(/\W+\b/g,"");
- if ((StreetFix == "Road") || (StreetFix == "Rd.") || (StreetFix == "Rd,")){
- StreetFix = "Rd";
- } else if ((StreetFix == "Street") || (StreetFix == "St.") || (StreetFix == "St,")){
- StreetFix = "St";
- } else if ((StreetFix == "Avenue") || (StreetFix == "Av") || (StreetFix == "Ave.") || (StreetFix == "Ave,") || (StreetFix == "Av.") || (StreetFix == "Av,")){
- StreetFix = "Ave";
- }
- AddressResult = AddressSplit[0] + " " + RoadFix + " " + StreetFix;
- } else {
- AddressResult = "FAIL";
- window.alert("The address fixing failed on line " + Count);
- }
- LineArray[3] = AddressResult;
- return (LineArray);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement