usps_standardizer 0.2.1 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/usps_standardizer/version.rb +1 -1
- data/lib/usps_standardizer/zip_lookup.rb +26 -49
- data/spec/fixtures/content.html +1 -906
- data/usps_standardizer.gemspec +0 -1
- metadata +6 -17
@@ -1,5 +1,4 @@
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
2
|
-
require 'sanitize'
|
3
2
|
require 'mechanize'
|
4
3
|
|
5
4
|
module USPSStandardizer
|
@@ -29,44 +28,38 @@ module USPSStandardizer
|
|
29
28
|
return {} unless (content = get_std_address_content)
|
30
29
|
|
31
30
|
content.gsub!(/\t|\n|\r/, '')
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
end
|
53
|
-
results
|
31
|
+
|
32
|
+
content.scan %r{<span class=\"address1 range\">([^<]*)}
|
33
|
+
@r_address = $1.gsub(/^ | $/, '')
|
34
|
+
|
35
|
+
content.scan %r{<span class=\"city range\">([^<]*)}
|
36
|
+
@r_city = $1.gsub(/^ | $/, '')
|
37
|
+
|
38
|
+
content.scan %r{<span class=\"state range\">([^<]*)}
|
39
|
+
@r_state = $1.gsub(/^ | $/, '')
|
40
|
+
|
41
|
+
content.scan %r{<span class=\"zip\" style=\"\">([^<]*)}
|
42
|
+
@r_zipcode = $1.gsub(/^ | $/, '')
|
43
|
+
|
44
|
+
content.scan %r{<dt>County</dt><dd>([^<]*)}
|
45
|
+
@r_county = ($1.empty?) ? '' : $1.gsub(/^ | $/, '')
|
46
|
+
|
47
|
+
|
48
|
+
results = {:address => @r_address, :city => @r_city, :state => @r_state, :county => @r_county, :zipcode => @r_zipcode}
|
49
|
+
if cache
|
50
|
+
cache[redis_key(@address)] = "#{@r_address}::#{@r_city}::#{@r_state}::#{@r_county}::#{@r_zipcode}"
|
54
51
|
end
|
52
|
+
results
|
55
53
|
end
|
56
54
|
|
57
55
|
private
|
58
56
|
|
59
57
|
def get_std_address_content
|
60
|
-
|
58
|
+
url = "https://tools.usps.com/go/ZipLookupResultsAction!input.action?resultMode=0&companyName=&address1=#{@address}&address2=&city=#{@city}&state=#{@state}&urbanCode=&postalCode=&zip="
|
59
|
+
@mechanize.get url
|
61
60
|
|
62
|
-
|
63
|
-
|
64
|
-
search_form.state = @state
|
65
|
-
|
66
|
-
@mechanize.submit(search_form, search_form.buttons.first)
|
67
|
-
|
68
|
-
return false unless @mechanize.page.search('p.mainRed').empty?
|
69
|
-
@mechanize.page.body
|
61
|
+
return false unless @mechanize.page.search('div#error-box').empty?
|
62
|
+
return @mechanize.page.search('div#result-list ul li:first').to_html
|
70
63
|
end
|
71
64
|
|
72
65
|
def cache
|
@@ -78,20 +71,4 @@ module USPSStandardizer
|
|
78
71
|
address.downcase.gsub(' ', '_')
|
79
72
|
end
|
80
73
|
end
|
81
|
-
end
|
82
|
-
|
83
|
-
String.class_eval do
|
84
|
-
def sub_nonascii(replacement)
|
85
|
-
chars = self.split("")
|
86
|
-
self.slice!(0..self.size)
|
87
|
-
chars.each do |char|
|
88
|
-
if char.ord < 33 || char.ord > 127
|
89
|
-
self.concat(replacement)
|
90
|
-
else
|
91
|
-
self.concat(char)
|
92
|
-
end
|
93
|
-
end
|
94
|
-
self.to_s
|
95
|
-
end
|
96
|
-
end
|
97
|
-
|
74
|
+
end
|
data/spec/fixtures/content.html
CHANGED
@@ -1,906 +1 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
14
|
-
|
15
|
-
<html>
|
16
|
-
<head>
|
17
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
18
|
-
<meta name="WT.z_search" content="address"></meta>
|
19
|
-
<meta name="WT.z_value" content="match"></meta>
|
20
|
-
<title>USPS - ZIP Code Lookup - Find a ZIP + 4 Code By Address Results</title>
|
21
|
-
<link href="css/styles.css" rel="stylesheet" type="text/css" />
|
22
|
-
|
23
|
-
<SCRIPT language="javascript1.1" type="text/javascript">
|
24
|
-
|
25
|
-
|
26
|
-
function checkState(field) {
|
27
|
-
field.state.value = field.state.value.toUpperCase();
|
28
|
-
if (field.state.value == "PR") {
|
29
|
-
var firmname = 'firmname=' + field.firmname.value;
|
30
|
-
var address1 = '&address1=' + field.address1.value;
|
31
|
-
var address2 = '&address2=' + field.address2.value;
|
32
|
-
var city = '&city=' + field.city.value;
|
33
|
-
var state = '&state=' + field.state.value;
|
34
|
-
var zip5 = '&zip5=' + field.zip5.value;
|
35
|
-
var urbanization = '&urbanization=' + field.urbanization.value;
|
36
|
-
var url = 'welcome.jsp?' + firmname + address1 + address2 + city + state + zip5 + urbanization;
|
37
|
-
top.location.replace(url);
|
38
|
-
}
|
39
|
-
return true;
|
40
|
-
}
|
41
|
-
|
42
|
-
|
43
|
-
function checkStateError(field) {
|
44
|
-
field.state.value = field.state.value.toUpperCase();
|
45
|
-
if (field.state.value == "PR") {
|
46
|
-
var firmname = 'firmname=' + field.firmname.value;
|
47
|
-
var address1 = '&address1=' + field.address1.value;
|
48
|
-
var address2 = '&address2=' + field.address2.value;
|
49
|
-
var city = '&city=' + field.city.value;
|
50
|
-
var state = '&state=' + field.state.value;
|
51
|
-
var zip5 = '&zip5=' + field.zip5.value;
|
52
|
-
var urbanization = '&urbanization=' + field.urbanization.value;
|
53
|
-
var url = 'zcl_0_landing_error.jsp?' + firmname + address1 + address2 + city + state + zip5 + urbanization;
|
54
|
-
top.location.replace(url);
|
55
|
-
}
|
56
|
-
return true;
|
57
|
-
}
|
58
|
-
|
59
|
-
function checkStateSysError(field) {
|
60
|
-
field.state.value = field.state.value.toUpperCase();
|
61
|
-
if (field.state.value == "PR") {
|
62
|
-
var firmname = 'firmname=' + field.firmname.value;
|
63
|
-
var address1 = '&address1=' + field.address1.value;
|
64
|
-
var address2 = '&address2=' + field.address2.value;
|
65
|
-
var city = '&city=' + field.city.value;
|
66
|
-
var state = '&state=' + field.state.value;
|
67
|
-
var zip5 = '&zip5=' + field.zip5.value;
|
68
|
-
var urbanization = '&urbanization=' + field.urbanization.value;
|
69
|
-
var url = 'zcl_0_landing_sys_error.jsp?' + firmname + address1 + address2 + city + state + zip5 + urbanization;
|
70
|
-
top.location.replace(url);
|
71
|
-
}
|
72
|
-
return true;
|
73
|
-
}
|
74
|
-
|
75
|
-
|
76
|
-
function statePopup(mylink, windowname) {
|
77
|
-
if (! window.focus) {
|
78
|
-
return true;
|
79
|
-
}
|
80
|
-
var mywin, href;
|
81
|
-
if (typeof(mylink) == 'string') {
|
82
|
-
href=mylink;
|
83
|
-
} else {
|
84
|
-
href=mylink.href;
|
85
|
-
}
|
86
|
-
mywin = window.open(href, windowname, 'width=240, height=270, left=400, top=100, resizable=1, menubar=0, toolbar=0, location=0, personalbar=0, status=0, scrollbars=0');
|
87
|
-
mywin.focus();
|
88
|
-
|
89
|
-
return false;
|
90
|
-
}
|
91
|
-
|
92
|
-
|
93
|
-
function validate_for_integers(inputfield, inputevent, zipcode) {
|
94
|
-
var key;
|
95
|
-
var keychar;
|
96
|
-
|
97
|
-
if (zipcode.value.length == 5) {
|
98
|
-
if (window.event) {
|
99
|
-
key = window.event.keyCode;
|
100
|
-
} else if (inputevent) {
|
101
|
-
key = inputevent.which;
|
102
|
-
} else {
|
103
|
-
return true;
|
104
|
-
}
|
105
|
-
|
106
|
-
keychar = String.fromCharCode(key);
|
107
|
-
// control keys
|
108
|
-
if ((key==null) || (key==0) || (key==8) ||
|
109
|
-
(key==9) || (key==13) || (key==27)) {
|
110
|
-
return true;
|
111
|
-
|
112
|
-
// numbers
|
113
|
-
} else if (("0123456789-").indexOf(keychar) > -1) {
|
114
|
-
return true;
|
115
|
-
} else {
|
116
|
-
return false;
|
117
|
-
}
|
118
|
-
} else {
|
119
|
-
if (window.event) {
|
120
|
-
key = window.event.keyCode;
|
121
|
-
} else if (inputevent) {
|
122
|
-
key = inputevent.which;
|
123
|
-
} else {
|
124
|
-
return true;
|
125
|
-
}
|
126
|
-
|
127
|
-
keychar = String.fromCharCode(key);
|
128
|
-
// control keys
|
129
|
-
if ((key==null) || (key==0) || (key==8) ||
|
130
|
-
(key==9) || (key==13) || (key==27)) {
|
131
|
-
return true;
|
132
|
-
|
133
|
-
// numbers
|
134
|
-
} else if (("0123456789").indexOf(keychar) > -1) {
|
135
|
-
return true;
|
136
|
-
|
137
|
-
} else {
|
138
|
-
return false;
|
139
|
-
}
|
140
|
-
}
|
141
|
-
} // end of validate_for_integers()
|
142
|
-
|
143
|
-
|
144
|
-
function validate_for_characters(inputfield, inputevent) {
|
145
|
-
var key;
|
146
|
-
var keychar;
|
147
|
-
|
148
|
-
if (window.event) {
|
149
|
-
key = window.event.keyCode;
|
150
|
-
} else if (inputevent) {
|
151
|
-
key = inputevent.which;
|
152
|
-
} else {
|
153
|
-
return true;
|
154
|
-
}
|
155
|
-
|
156
|
-
keychar = String.fromCharCode(key);
|
157
|
-
// control keys
|
158
|
-
if ((key==null) || (key==0) || (key==8) ||
|
159
|
-
(key==9) || (key==13) || (key==27)) {
|
160
|
-
return true;
|
161
|
-
|
162
|
-
// characters
|
163
|
-
} else if (("0123456789").indexOf(keychar) > -1) {
|
164
|
-
return false;
|
165
|
-
} else {
|
166
|
-
return true;
|
167
|
-
}
|
168
|
-
} // end of validate_for_characters()
|
169
|
-
|
170
|
-
|
171
|
-
function checkFields (field) {
|
172
|
-
var firmname = 'firmname=' + field.firmname.value;
|
173
|
-
var address1 = '&address1=' + field.address1.value;
|
174
|
-
var address2 = '&address2=' + field.address2.value;
|
175
|
-
var city = '&city=' + field.city.value;
|
176
|
-
var state = '&state=' + field.state.value;
|
177
|
-
var zip5 = '&zip5=' + field.zip5.value;
|
178
|
-
var urbanization = '&urbanization=' + field.urbanization.value;
|
179
|
-
var ok = true;
|
180
|
-
|
181
|
-
if (field.zip5.value == "0") {
|
182
|
-
if (field.address2.value.length == 0) {
|
183
|
-
url = 'zcl_0_landing_error.jsp?' + firmname + address1 + address2 + city + state + zip5 + urbanization;
|
184
|
-
ok = false;
|
185
|
-
}
|
186
|
-
|
187
|
-
if ((field.city.value.length == 0)) {
|
188
|
-
url = 'zcl_0_landing_error.jsp?' + firmname + address1 + address2 + city + state + zip5 + urbanization;
|
189
|
-
ok = false;
|
190
|
-
} else {
|
191
|
-
field.zip5.value = "";
|
192
|
-
}
|
193
|
-
} else {
|
194
|
-
|
195
|
-
if (field.address2.value.length == 0) {
|
196
|
-
url = 'zcl_0_landing_error.jsp?' + firmname + address1 + address2 + city + state + zip5 + urbanization;
|
197
|
-
ok = false;
|
198
|
-
}
|
199
|
-
|
200
|
-
if (field.zip5.value.length != 0) {
|
201
|
-
if (field.zip5.value.length < 5) {
|
202
|
-
url = 'zcl_0_landing_error.jsp?' + firmname + address1 + address2 + city + state + zip5 + urbanization;
|
203
|
-
ok = false;
|
204
|
-
}
|
205
|
-
}
|
206
|
-
|
207
|
-
if ((field.city.value.length == 0) && (field.state.value.length == 0)) {
|
208
|
-
if (field.zip5.value.length < 5) {
|
209
|
-
url = 'zcl_0_landing_error.jsp?' + firmname + address1 + address2 + city + state + zip5 + urbanization;
|
210
|
-
ok = false;
|
211
|
-
}
|
212
|
-
}
|
213
|
-
|
214
|
-
if ((field.city.value.length == 0) || (field.state.value.length == 0)) {
|
215
|
-
if (field.zip5.value.length < 5) {
|
216
|
-
url = 'zcl_0_landing_error.jsp?' + firmname + address1 + address2 + city + state + zip5 + urbanization;
|
217
|
-
ok = false;
|
218
|
-
};
|
219
|
-
}
|
220
|
-
|
221
|
-
if (field.state.value != 'PR') {
|
222
|
-
field.urbanization.value = "";
|
223
|
-
}
|
224
|
-
|
225
|
-
if ((field.state.value != 'AL') &&
|
226
|
-
(field.state.value != 'AK') &&
|
227
|
-
(field.state.value != 'AS') &&
|
228
|
-
(field.state.value != 'AZ') &&
|
229
|
-
(field.state.value != 'AR') &&
|
230
|
-
(field.state.value != 'CA') &&
|
231
|
-
(field.state.value != 'CO') &&
|
232
|
-
(field.state.value != 'CT') &&
|
233
|
-
(field.state.value != 'DE') &&
|
234
|
-
(field.state.value != 'DC') &&
|
235
|
-
(field.state.value != 'FM') &&
|
236
|
-
(field.state.value != 'FL') &&
|
237
|
-
(field.state.value != 'GA') &&
|
238
|
-
(field.state.value != 'GU') &&
|
239
|
-
(field.state.value != 'HI') &&
|
240
|
-
(field.state.value != 'ID') &&
|
241
|
-
(field.state.value != 'IL') &&
|
242
|
-
(field.state.value != 'IN') &&
|
243
|
-
(field.state.value != 'IA') &&
|
244
|
-
(field.state.value != 'KS') &&
|
245
|
-
(field.state.value != 'KY') &&
|
246
|
-
(field.state.value != 'LA') &&
|
247
|
-
(field.state.value != 'ME') &&
|
248
|
-
(field.state.value != 'MH') &&
|
249
|
-
(field.state.value != 'MD') &&
|
250
|
-
(field.state.value != 'MA') &&
|
251
|
-
(field.state.value != 'MI') &&
|
252
|
-
(field.state.value != 'MN') &&
|
253
|
-
(field.state.value != 'MS') &&
|
254
|
-
(field.state.value != 'MO') &&
|
255
|
-
(field.state.value != 'MT') &&
|
256
|
-
(field.state.value != 'NE') &&
|
257
|
-
(field.state.value != 'NV') &&
|
258
|
-
(field.state.value != 'NH') &&
|
259
|
-
(field.state.value != 'NJ') &&
|
260
|
-
(field.state.value != 'NM') &&
|
261
|
-
(field.state.value != 'NY') &&
|
262
|
-
(field.state.value != 'NC') &&
|
263
|
-
(field.state.value != 'ND') &&
|
264
|
-
(field.state.value != 'MP') &&
|
265
|
-
(field.state.value != 'OH') &&
|
266
|
-
(field.state.value != 'OK') &&
|
267
|
-
(field.state.value != 'OR') &&
|
268
|
-
(field.state.value != 'PW') &&
|
269
|
-
(field.state.value != 'PA') &&
|
270
|
-
(field.state.value != 'PR') &&
|
271
|
-
(field.state.value != 'RI') &&
|
272
|
-
(field.state.value != 'SC') &&
|
273
|
-
(field.state.value != 'SD') &&
|
274
|
-
(field.state.value != 'TN') &&
|
275
|
-
(field.state.value != 'TX') &&
|
276
|
-
(field.state.value != 'UT') &&
|
277
|
-
(field.state.value != 'VT') &&
|
278
|
-
(field.state.value != 'VI') &&
|
279
|
-
(field.state.value != 'VA') &&
|
280
|
-
(field.state.value != 'WA') &&
|
281
|
-
(field.state.value != 'WV') &&
|
282
|
-
(field.state.value != 'WI') &&
|
283
|
-
(field.state.value != 'WY') &&
|
284
|
-
(field.state.value != 'AE') &&
|
285
|
-
(field.state.value != 'AA') &&
|
286
|
-
(field.state.value != 'AE') &&
|
287
|
-
(field.state.value != 'AP') &&
|
288
|
-
(field.state.value != '') &&
|
289
|
-
(field.state.value != ' ')) {
|
290
|
-
url = 'zcl_0_landing_error.jsp?' + firmname + address1 + address2 + city + '&state=' + zip5 + urbanization;
|
291
|
-
ok = false;
|
292
|
-
}
|
293
|
-
}
|
294
|
-
|
295
|
-
if (ok == false) return url;
|
296
|
-
else return "";
|
297
|
-
}
|
298
|
-
|
299
|
-
|
300
|
-
function validate(field) { // check if input ok
|
301
|
-
//global variable to create error message(s)
|
302
|
-
var url = "";
|
303
|
-
var formerror = false;
|
304
|
-
|
305
|
-
// remove leading spaces
|
306
|
-
field.firmname.value = removeLeadingSpaces(field.firmname.value);
|
307
|
-
field.address1.value = removeLeadingSpaces(field.address1.value);
|
308
|
-
field.address2.value = removeLeadingSpaces(field.address2.value);
|
309
|
-
field.city.value = removeLeadingSpaces(field.city.value);
|
310
|
-
field.state.value = removeLeadingSpaces(field.state.value);
|
311
|
-
field.urbanization.value = removeLeadingSpaces(field.urbanization.value);
|
312
|
-
|
313
|
-
field.firmname.value = field.firmname.value.toUpperCase();
|
314
|
-
field.address1.value = field.address1.value.toUpperCase();
|
315
|
-
field.address2.value = field.address2.value.toUpperCase();
|
316
|
-
field.city.value = field.city.value.toUpperCase();
|
317
|
-
field.state.value = field.state.value.toUpperCase();
|
318
|
-
field.urbanization.value = field.urbanization.value.toUpperCase();
|
319
|
-
|
320
|
-
action = checkFields(field);
|
321
|
-
|
322
|
-
if (action != "") formerror = true;
|
323
|
-
|
324
|
-
if (formerror){
|
325
|
-
top.location.replace(action);
|
326
|
-
return false;
|
327
|
-
} else {
|
328
|
-
return true;
|
329
|
-
}
|
330
|
-
}
|
331
|
-
|
332
|
-
function removeLeadingSpaces(value) {
|
333
|
-
var regExp = /^\s*/;
|
334
|
-
var retVal = value.replace(regExp, "");
|
335
|
-
return retVal;
|
336
|
-
}
|
337
|
-
|
338
|
-
function createRequestObject() {
|
339
|
-
FORM_DATA = new Object();
|
340
|
-
// The Object ("Array") where our data will be stored.
|
341
|
-
|
342
|
-
separator = ',';
|
343
|
-
// The token used to separate data from multi-select inputs
|
344
|
-
|
345
|
-
query = '' + this.location;
|
346
|
-
// Get the current URL so we can parse out the data.
|
347
|
-
// Adding a null-string '' forces an implicit type cast
|
348
|
-
// from property to string, for NS2 compatibility.
|
349
|
-
|
350
|
-
query = query.substring((query.indexOf('?')) + 1);
|
351
|
-
// Keep everything after the question mark '?'.
|
352
|
-
|
353
|
-
if (query.length < 1) { return false; } // Perhaps we got some bad data?
|
354
|
-
|
355
|
-
keypairs = new Object();
|
356
|
-
|
357
|
-
numKP = 1;
|
358
|
-
// Local vars used to store and keep track of name/value pairs
|
359
|
-
// as we parse them back into a usable form.
|
360
|
-
|
361
|
-
while (query.indexOf('&') > -1) {
|
362
|
-
keypairs[numKP] = query.substring(0,query.indexOf('&'));
|
363
|
-
query = query.substring((query.indexOf('&')) + 1);
|
364
|
-
numKP++;
|
365
|
-
// Split the query string at each '&', storing the left-hand side
|
366
|
-
// of the split in a new keypairs[] holder, and chopping the query
|
367
|
-
// so that it gets the value of the right-hand string.
|
368
|
-
} // end of while loop
|
369
|
-
|
370
|
-
keypairs[numKP] = query;
|
371
|
-
// Store what's left in the query string as the final keypairs[] data.
|
372
|
-
|
373
|
-
for (i in keypairs) {
|
374
|
-
keyName = keypairs[i].substring(0,keypairs[i].indexOf('='));
|
375
|
-
// Left of '=' is name.
|
376
|
-
|
377
|
-
keyValue = keypairs[i].substring((keypairs[i].indexOf('=')) + 1);
|
378
|
-
// Right of '=' is value.
|
379
|
-
|
380
|
-
while (keyValue.indexOf('+') > -1) {
|
381
|
-
keyValue = keyValue.substring(0,keyValue.indexOf('+')) + ' ' + keyValue.substring(keyValue.indexOf('+') + 1);
|
382
|
-
// Replace each '+' in data string with a space.
|
383
|
-
}
|
384
|
-
|
385
|
-
keyValue = unescape(keyValue);
|
386
|
-
// Unescape non-alphanumerics
|
387
|
-
if (keyName == 'firmname') {
|
388
|
-
document.form1.firmname.value = keyValue;
|
389
|
-
}
|
390
|
-
if (keyName == 'address1') {
|
391
|
-
document.form1.address1.value = keyValue;
|
392
|
-
}
|
393
|
-
if (keyName == 'address2') {
|
394
|
-
document.form1.address2.value = keyValue;
|
395
|
-
}
|
396
|
-
if (keyName == 'city') {
|
397
|
-
document.form1.city.value = keyValue;
|
398
|
-
}
|
399
|
-
if (keyName == 'state') {
|
400
|
-
document.form1.state.value = keyValue;
|
401
|
-
}
|
402
|
-
if (keyName == 'zip5') {
|
403
|
-
document.form1.zip5.value = keyValue;
|
404
|
-
}
|
405
|
-
if (keyName == 'urbanization') {
|
406
|
-
document.form1.urbanization.value = keyValue;
|
407
|
-
}
|
408
|
-
if (keyName == 'pagenumber') {
|
409
|
-
document.form1.pagenumber.value = keyValue;
|
410
|
-
}
|
411
|
-
|
412
|
-
if (FORM_DATA[keyName]) {
|
413
|
-
FORM_DATA[keyName] = FORM_DATA[keyName] + separator + keyValue;
|
414
|
-
// Object already exists, it is probably a multi-select input,
|
415
|
-
// and we need to generate a separator-delimited string
|
416
|
-
// by appending to what we already have stored.
|
417
|
-
} else {
|
418
|
-
FORM_DATA[keyName] = keyValue;
|
419
|
-
// Normal case: name gets value.
|
420
|
-
}
|
421
|
-
} // end of for loop
|
422
|
-
|
423
|
-
if (document.form1.state.value == 'PR') {
|
424
|
-
document.form1.urbanization.focus();
|
425
|
-
}
|
426
|
-
|
427
|
-
return FORM_DATA;
|
428
|
-
} // end of createRequestObject()
|
429
|
-
|
430
|
-
|
431
|
-
function mailingIndustryPopup(carrierroute, countyname, deliverypoint, checkdigit, lac, elot, elotindicator, recordtype, pmbdesignator, pmbnumber, defaultflag, ewsflag) {
|
432
|
-
var popupWin = window.open('','mailingIndustry','width=500,height=300,left=250,top=100,resizable=1,menubar=0,toolbar=0,location=0,personalbar=0,status=0,scrollbars=1');
|
433
|
-
popupWin.focus();
|
434
|
-
|
435
|
-
popupWin.document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
|
436
|
-
popupWin.document.write('<html xmlns="http://www.w3.org/1999/xhtml">');
|
437
|
-
popupWin.document.write('<head>');
|
438
|
-
popupWin.document.write('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />');
|
439
|
-
popupWin.document.write('<title>USPS - Mailing Industry Information</title>');
|
440
|
-
popupWin.document.write('<link href="css/styles.css" rel="stylesheet" type="text/css" />');
|
441
|
-
popupWin.document.write('</head>');
|
442
|
-
popupWin.document.write('');
|
443
|
-
popupWin.document.write('<body>');
|
444
|
-
popupWin.document.write('');
|
445
|
-
popupWin.document.write('<div style="width:100%; height:12px; background:url(images/top_tile.gif) repeat-x;"></div>');
|
446
|
-
popupWin.document.write('<div class="popupHeader" style="width:338px; height:16px; padding:10px 8px;">');
|
447
|
-
popupWin.document.write(' <h1>Mailing Industry Information</h1>');
|
448
|
-
popupWin.document.write('</div>');
|
449
|
-
popupWin.document.write('<div style="width:338px; height:16px; padding:2px 8px;" class="main"><a href="pu_mailing_industry_def.htm">Mail Industry Information Definitions</a></div>');
|
450
|
-
popupWin.document.write('<table cellspacing="0" cellpadding="6" width="480" border="0">');
|
451
|
-
popupWin.document.write(' <tbody>');
|
452
|
-
popupWin.document.write(' <tr>');
|
453
|
-
popupWin.document.write(' <td width="464" align="right" valign="top"><a href="javascript:window.close()"><img src="images/button_close_window.gif" alt="Close Window" border="0" /></a></td>');
|
454
|
-
popupWin.document.write(' <td width="16"> </td>');
|
455
|
-
popupWin.document.write(' </tr>');
|
456
|
-
popupWin.document.write(' </tbody>');
|
457
|
-
popupWin.document.write('</table>');
|
458
|
-
popupWin.document.write('<table width="480" border="0" cellpadding="6" cellspacing="0" summary="This table is used to format the header of the page.">');
|
459
|
-
popupWin.document.write(' <tbody>');
|
460
|
-
popupWin.document.write(' <tr>');
|
461
|
-
popupWin.document.write(' <td width="16"> </td>');
|
462
|
-
popupWin.document.write(' <td width="298" class="main" valign="top" bgcolor="#f3f3f3">Carrier Route</td>');
|
463
|
-
popupWin.document.write(' <td width="150" align="right" valign="top" bgcolor="#f3f3f3" class="main">' + carrierroute + '</td>');
|
464
|
-
popupWin.document.write(' <td width="16"> </td>');
|
465
|
-
popupWin.document.write(' </tr>');
|
466
|
-
popupWin.document.write(' <tr>');
|
467
|
-
popupWin.document.write(' <td> </td>');
|
468
|
-
popupWin.document.write(' <td class="main" valign="top">County</td>');
|
469
|
-
popupWin.document.write(' <td align="right" valign="top" class="main">' + countyname + '</td>');
|
470
|
-
popupWin.document.write(' <td> </td>');
|
471
|
-
popupWin.document.write(' </tr>');
|
472
|
-
popupWin.document.write(' <tr>');
|
473
|
-
popupWin.document.write(' <td> </td>');
|
474
|
-
popupWin.document.write(' <td class="main" valign="top" bgcolor="#f3f3f3">Delivery Point Code</td>');
|
475
|
-
popupWin.document.write(' <td align="right" valign="top" bgcolor="#f3f3f3" class="main">' + deliverypoint + '</td>');
|
476
|
-
popupWin.document.write(' <td> </td>');
|
477
|
-
popupWin.document.write(' </tr>');
|
478
|
-
popupWin.document.write(' <tr>');
|
479
|
-
popupWin.document.write(' <td> </td>');
|
480
|
-
popupWin.document.write(' <td class="main" valign="top">Check Digit</td>');
|
481
|
-
popupWin.document.write(' <td align="right" valign="top" class="main">' + checkdigit + '</td>');
|
482
|
-
popupWin.document.write(' <td> </td>');
|
483
|
-
popupWin.document.write(' </tr>');
|
484
|
-
popupWin.document.write(' <tr>');
|
485
|
-
popupWin.document.write(' <td> </td>');
|
486
|
-
popupWin.document.write(' <td class="main" valign="top" bgcolor="#f3f3f3">LAC™</td>');
|
487
|
-
popupWin.document.write(' <td align="right" valign="top" bgcolor="#f3f3f3" class="main">' + lac + '</td>');
|
488
|
-
popupWin.document.write(' <td> </td>');
|
489
|
-
popupWin.document.write(' </tr>');
|
490
|
-
popupWin.document.write(' <tr>');
|
491
|
-
popupWin.document.write(' <td> </td>');
|
492
|
-
popupWin.document.write(' <td class="main" valign="top">eLOT™</td>');
|
493
|
-
popupWin.document.write(' <td align="right" valign="top" class="main">' + elot + '</td>');
|
494
|
-
popupWin.document.write(' <td> </td>');
|
495
|
-
popupWin.document.write(' </tr>');
|
496
|
-
popupWin.document.write(' <tr>');
|
497
|
-
popupWin.document.write(' <td> </td>');
|
498
|
-
popupWin.document.write(' <td class="main" valign="top" bgcolor="#f3f3f3">eLOT Ascending/Descending Indicator</td>');
|
499
|
-
popupWin.document.write(' <td align="right" valign="top" bgcolor="#f3f3f3" class="main">' + elotindicator + '</td>');
|
500
|
-
popupWin.document.write(' <td> </td>');
|
501
|
-
popupWin.document.write(' </tr>');
|
502
|
-
popupWin.document.write(' <tr>');
|
503
|
-
popupWin.document.write(' <td> </td>');
|
504
|
-
popupWin.document.write(' <td class="main" valign="top">Record Type Code</td>');
|
505
|
-
popupWin.document.write(' <td align="right" valign="top" class="main">' + recordtype + '</td>');
|
506
|
-
popupWin.document.write(' <td> </td>');
|
507
|
-
popupWin.document.write(' </tr>');
|
508
|
-
popupWin.document.write(' <tr>');
|
509
|
-
popupWin.document.write(' <td> </td>');
|
510
|
-
popupWin.document.write(' <td class="main" valign="top" bgcolor="#f3f3f3">PMB Designator</td>');
|
511
|
-
popupWin.document.write(' <td align="right" valign="top" bgcolor="#f3f3f3" class="main">' + pmbdesignator + '</td>');
|
512
|
-
popupWin.document.write(' <td> </td>');
|
513
|
-
popupWin.document.write(' </tr>');
|
514
|
-
popupWin.document.write(' <tr>');
|
515
|
-
popupWin.document.write(' <td> </td>');
|
516
|
-
popupWin.document.write(' <td class="main" valign="top">PMB Number</td>');
|
517
|
-
popupWin.document.write(' <td align="right" valign="top" class="main">' + pmbnumber + '</td>');
|
518
|
-
popupWin.document.write(' <td> </td>');
|
519
|
-
popupWin.document.write(' </tr>');
|
520
|
-
popupWin.document.write(' <tr>');
|
521
|
-
popupWin.document.write(' <td> </td>');
|
522
|
-
popupWin.document.write(' <td class="main" valign="top" bgcolor="#f3f3f3">Default Flag</td>');
|
523
|
-
popupWin.document.write(' <td align="right" valign="top" bgcolor="#f3f3f3" class="main">' + defaultflag + '</td>');
|
524
|
-
popupWin.document.write(' <td> </td>');
|
525
|
-
popupWin.document.write(' </tr>');
|
526
|
-
popupWin.document.write(' <tr>');
|
527
|
-
popupWin.document.write(' <td> </td>');
|
528
|
-
popupWin.document.write(' <td class="main" valign="top">EWS Flag</td>');
|
529
|
-
popupWin.document.write(' <td align="right" valign="top" class="main">' + ewsflag + '</td>');
|
530
|
-
popupWin.document.write(' <td> </td>');
|
531
|
-
popupWin.document.write(' </tr>');
|
532
|
-
popupWin.document.write(' </tbody>');
|
533
|
-
popupWin.document.write('</table>');
|
534
|
-
popupWin.document.write('<table cellspacing="0" cellpadding="6" width="480" border="0">');
|
535
|
-
popupWin.document.write(' <tbody>');
|
536
|
-
popupWin.document.write(' <tr>');
|
537
|
-
popupWin.document.write(' <td width="464" align="right" valign="top"><a href="javascript:window.close()"><img src="images/button_close_window.gif" alt="Close Window" border="0" /></a></td>');
|
538
|
-
popupWin.document.write(' <td width="16"> </td>');
|
539
|
-
popupWin.document.write(' </tr>');
|
540
|
-
popupWin.document.write(' </tbody>');
|
541
|
-
popupWin.document.write('</table>');
|
542
|
-
popupWin.document.write('<div align="right" style="width:100%; background: url(images/footer_bottom_tile.gif) bottom repeat-x"> </div>');
|
543
|
-
popupWin.document.write('</body>');
|
544
|
-
popupWin.document.write('</html>');
|
545
|
-
|
546
|
-
popupWin.document.close();
|
547
|
-
} // end of mailingIndustryPopup()
|
548
|
-
|
549
|
-
|
550
|
-
function mailingIndustryPopup2(carrierroute, countyname, deliverypoint, checkdigit, lac, elot, elotindicator, recordtype, pmbdesignator, pmbnumber, defaultflag, ewsflag, dpvconfirmation) {
|
551
|
-
var popupWin = window.open('','mailingIndustry','width=500,height=300,left=250,top=100,resizable=1,menubar=0,toolbar=0,location=0,personalbar=0,status=0,scrollbars=1');
|
552
|
-
popupWin.focus();
|
553
|
-
|
554
|
-
popupWin.document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
|
555
|
-
popupWin.document.write('<html xmlns="http://www.w3.org/1999/xhtml">');
|
556
|
-
popupWin.document.write('<head>');
|
557
|
-
popupWin.document.write('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />');
|
558
|
-
popupWin.document.write('<title>USPS - Mailing Industry Information</title>');
|
559
|
-
popupWin.document.write('<link href="css/styles.css" rel="stylesheet" type="text/css" />');
|
560
|
-
popupWin.document.write('</head>');
|
561
|
-
popupWin.document.write('');
|
562
|
-
popupWin.document.write('<body>');
|
563
|
-
popupWin.document.write('');
|
564
|
-
popupWin.document.write('<div style="width:100%; height:12px; background:url(images/top_tile.gif) repeat-x;"></div>');
|
565
|
-
popupWin.document.write('<div class="popupHeader" style="width:338px; height:16px; padding:10px 8px;">');
|
566
|
-
popupWin.document.write(' <h1>Mailing Industry Information</h1>');
|
567
|
-
popupWin.document.write('</div>');
|
568
|
-
popupWin.document.write('<div style="width:338px; height:16px; padding:2px 8px;" class="main"><a href="pu_mailing_industry_def.htm">Mail Industry Information Definitions</a></div>');
|
569
|
-
popupWin.document.write('<table cellspacing="0" cellpadding="6" width="480" border="0">');
|
570
|
-
popupWin.document.write(' <tbody>');
|
571
|
-
popupWin.document.write(' <tr>');
|
572
|
-
popupWin.document.write(' <td width="464" align="right" valign="top"><a href="javascript:window.close()"><img src="images/button_close_window.gif" alt="Close Window" border="0" /></a></td>');
|
573
|
-
popupWin.document.write(' <td width="16"> </td>');
|
574
|
-
popupWin.document.write(' </tr>');
|
575
|
-
popupWin.document.write(' </tbody>');
|
576
|
-
popupWin.document.write('</table>');
|
577
|
-
popupWin.document.write('<table width="480" border="0" cellpadding="6" cellspacing="0" summary="This table is used to format the header of the page.">');
|
578
|
-
popupWin.document.write(' <tbody>');
|
579
|
-
popupWin.document.write(' <tr>');
|
580
|
-
popupWin.document.write(' <td width="16"> </td>');
|
581
|
-
popupWin.document.write(' <td width="298" class="main" valign="top" bgcolor="#f3f3f3">Carrier Route</td>');
|
582
|
-
popupWin.document.write(' <td width="150" align="right" valign="top" bgcolor="#f3f3f3" class="main">' + carrierroute + '</td>');
|
583
|
-
popupWin.document.write(' <td width="16"> </td>');
|
584
|
-
popupWin.document.write(' </tr>');
|
585
|
-
popupWin.document.write(' <tr>');
|
586
|
-
popupWin.document.write(' <td> </td>');
|
587
|
-
popupWin.document.write(' <td class="main" valign="top">County</td>');
|
588
|
-
popupWin.document.write(' <td align="right" valign="top" class="main">' + countyname + '</td>');
|
589
|
-
popupWin.document.write(' <td> </td>');
|
590
|
-
popupWin.document.write(' </tr>');
|
591
|
-
popupWin.document.write(' <tr>');
|
592
|
-
popupWin.document.write(' <td> </td>');
|
593
|
-
popupWin.document.write(' <td class="main" valign="top" bgcolor="#f3f3f3">Delivery Point Code</td>');
|
594
|
-
popupWin.document.write(' <td align="right" valign="top" bgcolor="#f3f3f3" class="main">' + deliverypoint + '</td>');
|
595
|
-
popupWin.document.write(' <td> </td>');
|
596
|
-
popupWin.document.write(' </tr>');
|
597
|
-
popupWin.document.write(' <tr>');
|
598
|
-
popupWin.document.write(' <td> </td>');
|
599
|
-
popupWin.document.write(' <td class="main" valign="top">Check Digit</td>');
|
600
|
-
popupWin.document.write(' <td align="right" valign="top" class="main">' + checkdigit + '</td>');
|
601
|
-
popupWin.document.write(' <td> </td>');
|
602
|
-
popupWin.document.write(' </tr>');
|
603
|
-
popupWin.document.write(' <tr>');
|
604
|
-
popupWin.document.write(' <td> </td>');
|
605
|
-
popupWin.document.write(' <td class="main" valign="top" bgcolor="#f3f3f3">LAC™</td>');
|
606
|
-
popupWin.document.write(' <td align="right" valign="top" bgcolor="#f3f3f3" class="main">' + lac + '</td>');
|
607
|
-
popupWin.document.write(' <td> </td>');
|
608
|
-
popupWin.document.write(' </tr>');
|
609
|
-
popupWin.document.write(' <tr>');
|
610
|
-
popupWin.document.write(' <td> </td>');
|
611
|
-
popupWin.document.write(' <td class="main" valign="top">eLOT™</td>');
|
612
|
-
popupWin.document.write(' <td align="right" valign="top" class="main">' + elot + '</td>');
|
613
|
-
popupWin.document.write(' <td> </td>');
|
614
|
-
popupWin.document.write(' </tr>');
|
615
|
-
popupWin.document.write(' <tr>');
|
616
|
-
popupWin.document.write(' <td> </td>');
|
617
|
-
popupWin.document.write(' <td class="main" valign="top" bgcolor="#f3f3f3">eLOT Ascending/Descending Indicator</td>');
|
618
|
-
popupWin.document.write(' <td align="right" valign="top" bgcolor="#f3f3f3" class="main">' + elotindicator + '</td>');
|
619
|
-
popupWin.document.write(' <td> </td>');
|
620
|
-
popupWin.document.write(' </tr>');
|
621
|
-
popupWin.document.write(' <tr>');
|
622
|
-
popupWin.document.write(' <td> </td>');
|
623
|
-
popupWin.document.write(' <td class="main" valign="top">Record Type Code</td>');
|
624
|
-
popupWin.document.write(' <td align="right" valign="top" class="main">' + recordtype + '</td>');
|
625
|
-
popupWin.document.write(' <td> </td>');
|
626
|
-
popupWin.document.write(' </tr>');
|
627
|
-
popupWin.document.write(' <tr>');
|
628
|
-
popupWin.document.write(' <td> </td>');
|
629
|
-
popupWin.document.write(' <td class="main" valign="top" bgcolor="#f3f3f3">PMB Designator</td>');
|
630
|
-
popupWin.document.write(' <td align="right" valign="top" bgcolor="#f3f3f3" class="main">' + pmbdesignator + '</td>');
|
631
|
-
popupWin.document.write(' <td> </td>');
|
632
|
-
popupWin.document.write(' </tr>');
|
633
|
-
popupWin.document.write(' <tr>');
|
634
|
-
popupWin.document.write(' <td> </td>');
|
635
|
-
popupWin.document.write(' <td class="main" valign="top">PMB Number</td>');
|
636
|
-
popupWin.document.write(' <td align="right" valign="top" class="main">' + pmbnumber + '</td>');
|
637
|
-
popupWin.document.write(' <td> </td>');
|
638
|
-
popupWin.document.write(' </tr>');
|
639
|
-
popupWin.document.write(' <tr>');
|
640
|
-
popupWin.document.write(' <td> </td>');
|
641
|
-
popupWin.document.write(' <td class="main" valign="top" bgcolor="#f3f3f3">Default Flag</td>');
|
642
|
-
popupWin.document.write(' <td align="right" valign="top" bgcolor="#f3f3f3" class="main">' + defaultflag + '</td>');
|
643
|
-
popupWin.document.write(' <td> </td>');
|
644
|
-
popupWin.document.write(' </tr>');
|
645
|
-
popupWin.document.write(' <tr>');
|
646
|
-
popupWin.document.write(' <td> </td>');
|
647
|
-
popupWin.document.write(' <td class="main" valign="top">EWS Flag</td>');
|
648
|
-
popupWin.document.write(' <td align="right" valign="top" class="main">' + ewsflag + '</td>');
|
649
|
-
popupWin.document.write(' <td> </td>');
|
650
|
-
popupWin.document.write(' </tr>');
|
651
|
-
popupWin.document.write(' <tr>');
|
652
|
-
popupWin.document.write(' <td> </td>');
|
653
|
-
popupWin.document.write(' <td class="main" valign="top" bgcolor="#f3f3f3">DPV Confirmation Indicator</td>');
|
654
|
-
popupWin.document.write(' <td align="right" valign="top" bgcolor="#f3f3f3" class="main">' + dpvconfirmation + '</td>');
|
655
|
-
popupWin.document.write(' <td> </td>');
|
656
|
-
popupWin.document.write(' </tr>');
|
657
|
-
popupWin.document.write(' </tbody>');
|
658
|
-
popupWin.document.write('</table>');
|
659
|
-
popupWin.document.write('<table cellspacing="0" cellpadding="6" width="480" border="0">');
|
660
|
-
popupWin.document.write(' <tbody>');
|
661
|
-
popupWin.document.write(' <tr>');
|
662
|
-
popupWin.document.write(' <td width="464" align="right" valign="top"><a href="javascript:window.close()"><img src="images/button_close_window.gif" alt="Close Window" border="0" /></a></td>');
|
663
|
-
popupWin.document.write(' <td width="16"> </td>');
|
664
|
-
popupWin.document.write(' </tr>');
|
665
|
-
popupWin.document.write(' </tbody>');
|
666
|
-
popupWin.document.write('</table>');
|
667
|
-
popupWin.document.write('<div align="right" style="width:100%; background: url(images/footer_bottom_tile.gif) bottom repeat-x"> </div>');
|
668
|
-
popupWin.document.write('</body>');
|
669
|
-
popupWin.document.write('</html>');
|
670
|
-
|
671
|
-
popupWin.document.close();
|
672
|
-
} // end of mailingIndustryPopup2()
|
673
|
-
|
674
|
-
</SCRIPT>
|
675
|
-
|
676
|
-
|
677
|
-
<script language="JavaScript" type="text/JavaScript">
|
678
|
-
<!--
|
679
|
-
function swapImgRestore() {
|
680
|
-
document.getElementById('popup_layer').style.visibility='hidden';
|
681
|
-
var i,x,a=document.sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
|
682
|
-
}
|
683
|
-
|
684
|
-
function preloadImages() {
|
685
|
-
var d=document; if(d.images){ if(!d.p) d.p=new Array();
|
686
|
-
var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
|
687
|
-
if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
|
688
|
-
}
|
689
|
-
|
690
|
-
function findObj(n, d) {
|
691
|
-
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
|
692
|
-
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
|
693
|
-
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
|
694
|
-
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
|
695
|
-
if(!x && d.getElementById) x=d.getElementById(n); return x;
|
696
|
-
}
|
697
|
-
|
698
|
-
function swapImage() {
|
699
|
-
document.getElementById('popup_layer').style.visibility='visible';
|
700
|
-
var i,j=0,x,a=swapImage.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3)
|
701
|
-
if ((x=findObj(a[i]))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
|
702
|
-
|
703
|
-
}
|
704
|
-
//-->
|
705
|
-
</script>
|
706
|
-
|
707
|
-
</head>
|
708
|
-
<body onload="preloadImages('images/question_trans_over.gif');" >
|
709
|
-
<script language="javascript1.1" type="text/javascript" src="includes/windows.js"></script>
|
710
|
-
|
711
|
-
<div id="popup_layer" class="popuplayer" style=" margin:40px 0px 0px 250px; padding:7px 7px 7px 7px; position:absolute; visibility:hidden;width:190px;"><div style="padding:0px 0px 10px 0px;">Standard Format</div>Your delivery address and ZIP Code™ are checked for proper Postal Service format and standardized if necessary.
|
712
|
-
<div style="padding:0px 0px 8px 0px;">For example:</div>
|
713
|
-
|
714
|
-
Entered:<br/ >
|
715
|
-
ABC Movers<br/ >
|
716
|
-
1500 East Main Avenue, Suite 201<br/ >
|
717
|
-
<div style="padding:0px 0px 8px 0px;">Springfield, VA 22162</div>
|
718
|
-
|
719
|
-
Standardized:<br/ >
|
720
|
-
ABC MOVERS<br/ >
|
721
|
-
1500 E MAIN AVE STE 201<br/ >
|
722
|
-
SPRINGFIELD VA 22162-1010 </div>
|
723
|
-
<form action="" method="get">
|
724
|
-
|
725
|
-
<div style="height:44px; width:720px;">
|
726
|
-
<a href="http://www.usps.com">
|
727
|
-
<img src="images/usps_logo.gif" title="USPS Homepage" width="165" height="44" border="0" align="left" />
|
728
|
-
</a>
|
729
|
-
<a href="#content">
|
730
|
-
<img align="left" src="images/spacer.gif" width="1" height="1" alt="Skip Navigation" border="0" />
|
731
|
-
</a>
|
732
|
-
<div class="topnav" align="right" style="float:right; width:200px; padding:25px 0px 0px 0px;">
|
733
|
-
<a href="http://www.usps.com">
|
734
|
-
USPS Home
|
735
|
-
</a>
|
736
|
-
|
|
737
|
-
<a tabindex="9" href="http://www.usps.com/faqs/ziplookup-faqs.htm?WT.z_zip4link=FAQ" target='faq' onclick='void openWindow ("http://www.usps.com/faqs/ziplookup-faqs.htm?WT.z_zip4link=FAQ", "faq", "width=750,height=400", 25, 25, window, "resizable=1,menubar=0,toolbar=0,location=0,personalbar=0,status=0,scrollbars=1");'>
|
738
|
-
FAQs
|
739
|
-
</a>
|
740
|
-
</div>
|
741
|
-
</div>
|
742
|
-
<div id="header" align="right" class="bluebarbold">
|
743
|
-
<a href="welcome.jsp">
|
744
|
-
ZIP Code Lookup
|
745
|
-
</a>
|
746
|
-
<img src="images/spacer.gif" width="10" height="16" alt="" border="0"/>
|
747
|
-
</div>
|
748
|
-
|
749
|
-
<a name="content"></a>
|
750
|
-
|
751
|
-
|
752
|
-
<div style="width:685px; margin-left:35px; padding:12px 0px 14px;">
|
753
|
-
<h1>Find a ZIP + 4® Code By Address Results </h1>
|
754
|
-
</div>
|
755
|
-
<div style="width:375px; float:left; padding-left:35px;">
|
756
|
-
<h2>You Gave Us</h2>
|
757
|
-
<span class="main">
|
758
|
-
|
759
|
-
6216 eddington drive<br />
|
760
|
-
|
761
|
-
middletown oh <br /><br />
|
762
|
-
|
763
|
-
<a title="Lookup Another ZIP Code" href="welcome.jsp">Lookup Another ZIP Code™</a></span>
|
764
|
-
</div>
|
765
|
-
|
766
|
-
|
767
|
-
<!-- div below used for spacing only -->
|
768
|
-
<div style="clear:both; width:635px; height:15px;"></div>
|
769
|
-
<div style="clear:both; width:600px; margin-left:35px; height:17px; background:url(images/pagination_tile.gif) repeat-x;"></div>
|
770
|
-
<div style="width:600px; margin-left:35px;">
|
771
|
-
|
772
|
-
<table width="600" border="0" cellspacing="0" cellpadding="0" summary="This table contains an exact match address and ZIP code.">
|
773
|
-
<tr>
|
774
|
-
<th width="300" align="left" id="full" style="padding:5px 10px;">
|
775
|
-
<h2>Full Address in Standard Format <a href="pu_standard_format.htm" target='someName31' onclick='void openWindow ("pu_standard_format.htm", "someName31", "width=250,height=250", 225, 200, window, "resizable=1,menubar=0,toolbar=0,location=0,personalbar=0,status=0,scrollbars=1");'onmouseout="swapImgRestore()" onmouseover="swapImage('Image40','','images/question_trans_over.gif',1)"><img src="images/question_trans.gif" alt="What is Standard Format?" width="18" height="22" border="0" align="absmiddle" id="Image40" /></a></h2></th>
|
776
|
-
<th width="120"></th>
|
777
|
-
<td width="180"> </td>
|
778
|
-
</tr>
|
779
|
-
<tr>
|
780
|
-
<td headers="full" height="34" valign="top" class="main" style="background:url(images/table_gray.gif); padding:5px 10px;">
|
781
|
-
|
782
|
-
6216 EDDINGTON ST<br />
|
783
|
-
|
784
|
-
LIBERTY TOWNSHIP OH 45044-9761
|
785
|
-
<br />
|
786
|
-
</td>
|
787
|
-
<td style="background:url(images/table_gray.gif);"> </td>
|
788
|
-
<td height="34" align="right" valign="top" class="main" style="background:url(images/table_gray.gif); padding:5px 10px;">
|
789
|
-
<a title="Mailing Industry Information" href="#" onClick="mailingIndustryPopup2('R007',
|
790
|
-
'BUTLER',
|
791
|
-
'16',
|
792
|
-
'3',
|
793
|
-
'',
|
794
|
-
'0182',
|
795
|
-
'A',
|
796
|
-
'S',
|
797
|
-
'',
|
798
|
-
'',
|
799
|
-
'',
|
800
|
-
'',
|
801
|
-
'Y');" >Mailing Industry Information</a>
|
802
|
-
</tr>
|
803
|
-
<tr>
|
804
|
-
<td colspan="3"><img src="images/spacer.gif" width="1" height="4" alt="" border="0" /></td>
|
805
|
-
</tr>
|
806
|
-
<tr>
|
807
|
-
<td colspan="3"><img src="images/spacer.gif" width="1" height="10" alt="" border="0" /></td>
|
808
|
-
</tr>
|
809
|
-
</table>
|
810
|
-
</div>
|
811
|
-
|
812
|
-
<div style="clear:both; width:600px; margin-left:35px; height:17px; background:url(images/pagination_bottom_tile.gif) repeat-x;"></div>
|
813
|
-
|
814
|
-
<div style="width:635px; clear:both;">
|
815
|
-
<table width="635" border="0" cellspacing="0" cellpadding="0" summary="This table is used to format page content.">
|
816
|
-
<tr>
|
817
|
-
<td width="35"><img src="images/spacer.gif" height="23" width="35" alt="" border="0" /></td>
|
818
|
-
<td width="197"><img src="images/spacer.gif" height="23" width="197" alt="" border="0" /></td>
|
819
|
-
<td width="7"><img src="images/spacer.gif" height="23" width="7" alt="" border="0" /></td>
|
820
|
-
<td width="197"><img src="images/spacer.gif" height="23" width="197" alt="" border="0" /></td>
|
821
|
-
<td width="7"><img src="images/spacer.gif" height="23" width="7" alt="" border="0" /></td>
|
822
|
-
<td width="192"><img src="images/spacer.gif" height="23" width="192" alt="" border="0" /></td>
|
823
|
-
</tr><tr>
|
824
|
-
<td></td>
|
825
|
-
<td valign="top" style="background:url(images/lt_gray_background.gif);"><div style="margin:5px 15px 0px 20px;"><span class="mainBold">Related Links</span><br/>
|
826
|
-
<br/>
|
827
|
-
<span class="main"><strong>Calculate Postage</strong><br />
|
828
|
-
Calculate postage for your letter or package online!<br />
|
829
|
-
<a href="http://www.usps.com/tools/domesticratecalc/welcome.htm?from=zclresults&page=ratecalc" target='rate' onclick='void openWindow ("http://www.usps.com/tools/domesticratecalc/welcome.htm?from=zclresults&page=ratecalc", "rate", "width=750,height=400", 50, 50, window, "resizable=1,menubar=0,toolbar=0,location=0,personalbar=0,status=0,scrollbars=1");'> Rate Calculator</a></span></div></td>
|
830
|
-
<td style="background:url(images/lt_gray_background.gif);"></td>
|
831
|
-
<td valign="top" style="background:url(images/lt_gray_background.gif);"><div style="margin:20px 20px 0px 20px;"> <br/>
|
832
|
-
<span class="main"><strong>Print Shipping Labels</strong> <br />
|
833
|
-
Print shipping labels from your desktop and pay online.<br />
|
834
|
-
<a href="http://www.usps.com/shipping/label.htm?from=zclresults&page=cns" target='click' onclick='void openWindow ("http://www.usps.com/shipping/label.htm?from=zclresults&page=cns", "click", "width=750,height=400", 50, 50, window, "resizable=1,menubar=0,toolbar=0,location=0,personalbar=0,status=0,scrollbars=1");'> Click-N-Ship®</a><br />
|
835
|
-
<a href="http://www.usps.com/onlinepostage/welcome.htm?from=zclresults&page=otherpostage" target='other' onclick='void openWindow ("http://www.usps.com/onlinepostage/welcome.htm?from=zclresults&page=otherpostage", "other", "width=750,height=400", 50, 50, window, "resizable=1,menubar=0,toolbar=0,location=0,personalbar=0,status=0,scrollbars=1");'> Other Postage</a></span></div></td>
|
836
|
-
<td></td>
|
837
|
-
<td valign="top">
|
838
|
-
<div style="border-top:1px solid #CCC; border-bottom:1px solid #CCC; background:url(images/lt_gray_background.gif);">
|
839
|
-
<div style="margin:5px 15px;"><span class="mainBold">Residential and<br/>
|
840
|
-
Business Lookup</span><br/>
|
841
|
-
<br/>
|
842
|
-
<span class="main">Find an address with WhitePages<br>
|
843
|
-
<a href="http://usps2.whitepages.com/person?WT.z_zip4link=wp_people_search" target="_blank">People Search</a> and<br>
|
844
|
-
<a href="http://usps2.whitepages.com/business?WT.z_zip4link=wp_business_search" target="_blank">Business Search</a>.</span></div>
|
845
|
-
<div align="right"><a href="http://www.whitepages.com/?WT.z_zip4link=wp_com" target="_blank"><img src="images/WP_serviceOF_logo_110x30.gif" alt="A service of WhitePages" border="0"></a></div>
|
846
|
-
</div>
|
847
|
-
</td>
|
848
|
-
</tr>
|
849
|
-
<tr>
|
850
|
-
<td colspan="6"><img src="images/spacer.gif" alt="" width="1" height="18" border="0" /></td>
|
851
|
-
</tr>
|
852
|
-
</table><!-- Ensure JSP Page reload. -->
|
853
|
-
</div>
|
854
|
-
|
855
|
-
<style type="text/css">
|
856
|
-
@import url("http://www.usps.com/common/stylesheets/07/footer.css");
|
857
|
-
|
858
|
-
</style>
|
859
|
-
|
860
|
-
<div id="footer">
|
861
|
-
<div class="footNavImgFirst" id="footNavImg1"><a href="http://www.usps.com/homearea/sitemap.htm?from=global_footer&page=sitemap" onClick="dcsMultiTrack('DCS.dcsuri','/ed','WT.z_section','Global_Footer','WT.z_link','SiteMap')">Site Map</a></div>
|
862
|
-
<div class="footNavImg" id="footNavImg2"><a href="http://www.usps.com/customerservice/welcome.htm?from=global_footer&page=customerservice" onClick="dcsMultiTrack('DCS.dcsuri','/ed','WT.z_section','Global_Footer','WT.z_link','CustomerService')">Customer Service</a></div>
|
863
|
-
<div class="footNavImg" id="footNavImg3"><a href="http://www.usps.com/forms/welcome.htm?from=global_footer&page=forms" onClick="dcsMultiTrack('DCS.dcsuri','/ed','WT.z_section','Global_Footer','WT.z_link','Forms')">Forms</a></div>
|
864
|
-
<div class="footNavImg" id="footNavImg4"><a href="http://www.usps.com/homearea/category/govtlinks.htm?from=global_footer&page=govtservices" onClick="dcsMultiTrack('DCS.dcsuri','/ed','WT.z_section','Global_Footer','WT.z_link','GovtServices')">Gov't Services</a></div>
|
865
|
-
<div class="footNavImg" id="footNavImg5"><a href="http://www.usps.com/employment/welcome.htm?from=global_footer&page=careers" onClick="dcsMultiTrack('DCS.dcsuri','/ed','WT.z_section','Global_Footer','WT.z_link','Careers')">Careers</a></div>
|
866
|
-
<div class="footNavImg" id="footNavImg6"><a href="http://www.usps.com/homearea/docs/privpol.htm?from=global_footer&page=privacypolicy" onClick="dcsMultiTrack('DCS.dcsuri','/ed','WT.z_section','Global_Footer','WT.z_link','PrivacyPolicy')">Privacy Policy</a></div>
|
867
|
-
<div class="footNavImg" id="footNavImg7"><a href="http://www.usps.com/homearea/docs/termsofuse.htm?from=global_footer&page=termsofuse" onClick="dcsMultiTrack('DCS.dcsuri','/ed','WT.z_section','Global_Footer','WT.z_link','TermsOfUse')">Terms of Use</a></div>
|
868
|
-
<div class="footNavImgLast" id="footNavImg9"><a href="http://www.usps.com/nationalpremieraccounts/welcome.htm?from=global_footer&page=natlandpremiereaccts" onClick="dcsMultiTrack('DCS.dcsuri','/ed','WT.z_section','Global_Footer','WT.z_link','NationalAndPremierAccounts')">Business Customer Gateway</a></div>
|
869
|
-
<br />
|
870
|
-
<div id="copyright">Copyright© 2010 USPS. All Rights Reserved.</div>
|
871
|
-
<div id="noFear"><a href="http://www.usps.com/nofearact/welcome.htm?from=global_footer&page=nofearacteeo" onClick="dcsMultiTrack('DCS.dcsuri','/ed','WT.z_section','Global_Footer','WT.z_link','NoFearAct')">No FEAR Act EEO Data</a></div>
|
872
|
-
<div id="FOIA"><a title="Freedom of Information Act" href="http://www.usps.com/foia/welcome.htm?from=global_footer&page=foia" onClick="dcsMultiTrack('DCS.dcsuri','/ed','WT.z_section','Global_Footer','WT.z_link','FOIA')">FOIA</a></div><a href="http://www.usps.com/postalinspectors?from=global_footer&page=postalinspectors" onClick="dcsMultiTrack('DCS.dcsuri','/ed','WT.z_section','Global_Footer','WT.z_link','PostalInspectors')"><img style="MARGIN: 10px 0px 0px 42px" height="19" alt="Postal Inspectors Preserving the Trust" hspace="0" src="http://www.usps.com/common/images/07/usps_hm_ftr_bt_pstins.gif" width="108" align="top" border="0" /></a><a href="http://www.usps.com/all/oig/welcome.htm?from=global_footer&page=inspectorgeneral" onClick="dcsMultiTrack('DCS.dcsuri','/ed','WT.z_section','Global_Footer','WT.z_link','InspectorGeneral')"><img style="MARGIN: 10px 0px 0px 20px" height="22" alt="Inspector General Promoting Integrity" hspace="0" src="http://www.usps.com/common/images/07/usps_hm_ftr_bt_insgen.gif" width="101" align="top" border="0" /></a></div>
|
873
|
-
|
874
|
-
<!-- START OF SmartSource Data Collector TAG for ZIP Code Lookup Footer -->
|
875
|
-
<!-- Copyright (c) 1996-2009 WebTrends Inc. All rights reserved. -->
|
876
|
-
<!-- Version: 8.6.2 -->
|
877
|
-
<!-- Tag Builder Version: 3.0 -->
|
878
|
-
<!-- Created: 12/17/2009 8:47:13 PM -->
|
879
|
-
<script src="includes/webtrends.js" type="text/javascript"></script>
|
880
|
-
<!-- ----------------------------------------------------------------------------------- -->
|
881
|
-
<!-- Warning: The two script blocks below must remain inline. Moving them to an external -->
|
882
|
-
<!-- JavaScript include file can cause serious problems with cross-domain tracking. -->
|
883
|
-
<!-- ----------------------------------------------------------------------------------- -->
|
884
|
-
<script type="text/javascript">
|
885
|
-
//<![CDATA[
|
886
|
-
var _tag=new WebTrends();
|
887
|
-
_tag.dcsGetId();
|
888
|
-
//]]>>
|
889
|
-
</script>
|
890
|
-
<script type="text/javascript">
|
891
|
-
//<![CDATA[
|
892
|
-
// Add custom parameters here.
|
893
|
-
//_tag.DCSext.param_name=param_value;
|
894
|
-
_tag.dcsCollect();
|
895
|
-
//]]>>
|
896
|
-
</script>
|
897
|
-
<noscript>
|
898
|
-
<div><img alt="DCSIMG" id="DCSIMG" width="1" height="1" src="http://sdc.usps.com/dcsq8lc5w10000sxojnpk5m85_1i5u/njs.gif?dcsuri=/nojavascript&WT.js=No&WT.tv=8.6.2"/></div>
|
899
|
-
</noscript>
|
900
|
-
<!-- END OF SmartSource Data Collector TAG -->
|
901
|
-
|
902
|
-
|
903
|
-
</form>
|
904
|
-
</body>
|
905
|
-
</html>
|
906
|
-
|
1
|
+
<li class="clearfix"><div class="data"> <p class="std-address"><span class="address1 range">6216 EDDINGTON ST</span><br><span class="city range">LIBERTY TOWNSHIP </span> <span class="state range">OH</span> <span class="zip" style="">45044</span><span class="hyphen">-</span><span class="zip4">9761</span></p><p class="show-details"><a href="#" index="0" title="Reveal/hide mailing details table for this record">Show Mailing Industry Details</a></p><div class="details hide" index="0"><dl class="details"><dt>Carrier Route</dt><dd>R007 </dd><dt>County</dt><dd>BUTLER </dd><dt>Delivery Point Code</dt><dd>16 </dd><dt>Check Digit</dt><dd>3</dd><dt>Commercial Mail Receiving Agency</dt><dd>N</dd><dt>LAC?</dt><dd></dd><dt>eLOT?</dt><dd>0182</dd><dt>eLOT Ascending/Descending Indicator</dt><dd>A</dd><dt>Record Type Code</dt><dd>S</dd><dt>PMB Designator</dt><dd></dd><dt>PMB Number</dt><dd></dd><dt>Default Flag</dt><dd>Y</dd><dt>EWS Flag</dt><dd></dd><dt>DPV Confirmation Indicator</dt><dd>Y</dd></dl></div></div></li>
|
data/usps_standardizer.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: usps_standardizer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-02-16 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mechanize
|
16
|
-
requirement: &
|
16
|
+
requirement: &74582760 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,21 +21,10 @@ dependencies:
|
|
21
21
|
version: '2'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: sanitize
|
27
|
-
requirement: &78763580 !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
|
-
requirements:
|
30
|
-
- - ~>
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 2.0.3
|
33
|
-
type: :runtime
|
34
|
-
prerelease: false
|
35
|
-
version_requirements: *78763580
|
24
|
+
version_requirements: *74582760
|
36
25
|
- !ruby/object:Gem::Dependency
|
37
26
|
name: rspec
|
38
|
-
requirement: &
|
27
|
+
requirement: &74582510 !ruby/object:Gem::Requirement
|
39
28
|
none: false
|
40
29
|
requirements:
|
41
30
|
- - ~>
|
@@ -43,7 +32,7 @@ dependencies:
|
|
43
32
|
version: '2'
|
44
33
|
type: :development
|
45
34
|
prerelease: false
|
46
|
-
version_requirements: *
|
35
|
+
version_requirements: *74582510
|
47
36
|
description: Ruby class to standardize U.S. postal addresses by referencing the U.S.
|
48
37
|
Postal Service's web site
|
49
38
|
email:
|