rpaterick Posted August 3, 2010 Share Posted August 3, 2010 Data comes in as this for an example: Offer Valid 8/6/2010 to 9/19/2010 What I would like to do is capture just the DATES and format them. I kind of have an idea on how to trim but can't figure out how to get Rule 1 below date. Rule 1 would then return: 08/06/2010 If the input data was 12/12/2010, then it would just return as is, no leading 0. Rule 2 would then return: 09/19/2010 Thanks for any insight. Link to comment Share on other sites More sharing options...
Dan Korn Posted August 3, 2010 Share Posted August 3, 2010 Rule 1: var Dates = Field("OfferValid").match(/(\d+\/\d+\/\d+)/g); return Dates && Dates[0] ? FormatDate(Dates[0], "mm/dd/yyyy") : "Invalid Date";Rule 2: var Dates = Field("OfferValid").match(/(\d+\/\d+\/\d+)/g); return Dates && Dates[1] ? FormatDate(Dates[1], "mm/dd/yyyy") : "Invalid Date";You can generalize this for any number of dates like so: var Dates = Field("OfferValid").match(/(\d+\/\d+\/\d+)/g); var result = ""; for (var i in Dates) result += FormatDate(Dates[i], "mm/dd/yyyy") + "<br>\n"; return result;Or, you can do something this in OnRecordStart to populate multiple text variables without writing multiple rules: var Dates = Field("OfferValid").match(/(\d+\/\d+\/\d+)/g); for (var i in Dates) FusionPro.Composition.AddVariable("DateRule" + (i+1), FormatDate(Dates[i], "mm/dd/yyyy"));Then you can use the text variables "DateRule1", "DateRule2", etc. as if you had created rules with those names. I'll reiterate my caveat about using only numbers to represent dates, as the convention with regard to the order of the month and day is different in Europe than it is in the U.S. Link to comment Share on other sites More sharing options...
rpaterick Posted August 3, 2010 Author Share Posted August 3, 2010 Wow, it's like a magic how you come-up with this stuff. Thanks! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.