Skip to content

Commit 51a8f6e

Browse files
committed
validation
1 parent 78bf933 commit 51a8f6e

File tree

2 files changed

+99
-47
lines changed

2 files changed

+99
-47
lines changed

src/_includes/components/codepens/group-spec.html

Lines changed: 62 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,69 @@
11
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/9000.0.1/prism.min.js"
22
integrity="sha512-UOoJElONeUNzQbbKQbjldDf9MwOHqxNz49NNJJ1d90yp+X9edsHyJoAs6O4K19CZGaIdjI5ohK+O2y5lBTW6uQ=="
33
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
4-
<script type="text/javascript">
5-
function showMessage() {
6-
var name = document.getElementById("name").value;
7-
var industry = document.getElementById("industry").value;
8-
var employees = document.getElementById("employees").value;
9-
var plan = document.getElementById("plan").value;
10-
var totalBilled = document.getElementById("totalBilled").value;
11-
var user_agent = window.navigator.userAgent
12-
var ts = Date.now()
13-
var date = new Date(ts)
14-
var now = date.toISOString()
15-
var received = ts + 233
16-
var received_ts = new Date(received)
17-
var received_iso = received_ts.toISOString()
18-
var output = `{
19-
"anonymousId": "507f191e810c19729de860ea",
20-
"channel": "browser",
21-
"context": {
22-
"ip": "8.8.8.8",
23-
"userAgent": "${user_agent}"
24-
},
25-
"integrations": {
26-
"All": true,
27-
"Mixpanel": false,
28-
"Salesforce": false
29-
},
30-
"messageId": "022bb90c-bbac-11e4-8dfc-aa07a5b093db",
31-
"receivedAt": "${received_iso}",
32-
"sentAt": "${now}",
33-
"timestamp": "${now}",
34-
"traits": {
35-
"name": "${name}",
36-
"industry": "${industry}",
37-
"employees": ${employees},
38-
"plan": "${plan}",
39-
"total billed": ${totalBilled}
40-
},
41-
"type": "group",
42-
"userId": "97980cfea0067",
43-
"groupId": "0e8c78ea9d97a7b8185e8632",
44-
"version": "1.1"
45-
}`
46-
output_container.innerHTML = output
47-
Prism.highlightElement(output_container)
48-
}
4+
<script type="text/javascript">
5+
function showMessage() {
6+
var name = document.getElementById("name").value;
7+
var industry = document.getElementById("industry").value;
8+
var employees = document.getElementById("employees").value;
9+
var plan = document.getElementById("plan").value;
10+
var totalBilled = document.getElementById("totalBilled").value;
11+
var user_agent = window.navigator.userAgent;
12+
var ts = Date.now();
13+
var date = new Date(ts);
14+
var now = date.toISOString();
15+
var received = ts + 233;
16+
var received_ts = new Date(received);
17+
var received_iso = received_ts.toISOString();
18+
19+
// Add regular expression check for number of employees
20+
var employeesRegex = /^[0-9]+$/;
21+
if (!employeesRegex.test(employees)) {
22+
alert("Please enter only numbers in the Employees field");
23+
return;
24+
}
4925

50-
</script>
26+
// Add regular expression check for total billed
27+
var billedRegex = /^[0-9]+$/;
28+
if (!billedRegex.test(totalBilled)) {
29+
alert("Please enter only numbers in the Total Billed field");
30+
return;
31+
}
32+
33+
var output = `{
34+
"anonymousId": "507f191e810c19729de860ea",
35+
"channel": "browser",
36+
"context": {
37+
"ip": "8.8.8.8",
38+
"userAgent": "${user_agent}"
39+
},
40+
"integrations": {
41+
"All": true,
42+
"Mixpanel": false,
43+
"Salesforce": false
44+
},
45+
"messageId": "022bb90c-bbac-11e4-8dfc-aa07a5b093db",
46+
"receivedAt": "${received_iso}",
47+
"sentAt": "${now}",
48+
"timestamp": "${now}",
49+
"traits": {
50+
"name": "${name}",
51+
"industry": "${industry}",
52+
"employees": ${employees},
53+
"plan": "${plan}",
54+
"total billed": ${totalBilled}
55+
},
56+
"type": "group",
57+
"userId": "97980cfea0067",
58+
"groupId": "0e8c78ea9d97a7b8185e8632",
59+
"version": "1.1"
60+
}`;
61+
62+
output_container.innerHTML = output;
63+
Prism.highlightElement(output_container);
64+
}
65+
</script>
66+
5167
<script>
5268
function showOutput() {
5369
var show = document.getElementById("output-code");

src/_includes/components/codepens/identify-spec.html

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,42 @@
1919
var received = ts + 233
2020
var received_ts = new Date(received)
2121
var received_iso = received_ts.toISOString()
22+
23+
// Add regular expression check for name
24+
var nameRegex = /^[a-zA-Z]+(([',. -][a-zA-Z ])?[a-zA-Z]*)*$/;
25+
if (!nameRegex.test(name)) {
26+
alert("Please enter your name");
27+
return;
28+
}
29+
30+
// Add regular expression check for login #s
31+
var loginRegex = /^[0-9]+$/;
32+
if (!loginRegex.test(logins)) {
33+
alert("Please enter only numbers in the 'Logins' field");
34+
return;
35+
}
36+
37+
// Add regular expression check for valid email address
38+
var emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
39+
if (!emailRegex.test(email)) {
40+
alert("Please enter a valid email address");
41+
return;
42+
}
43+
44+
// Add regular expression check for city name
45+
var cityRegex = /^[A-Za-z\s-']+$/;
46+
if (!cityRegex.test(city)) {
47+
alert("Please enter a valid city name in the 'City' field.");
48+
return;
49+
}
50+
51+
// Add regular expression check for postcode
52+
var postcodeRegex = /^\d{5}$/;
53+
if (!postcodeRegex.test(postcode)) {
54+
alert("Please enter a valid five-digit zip code");
55+
return
56+
}
57+
2258
var output = `{
2359
"anonymousId": "507f191e810c19729de860ea",
2460
"channel": "browser",
@@ -88,7 +124,7 @@ <h4> Sample Identify </h4>
88124
<label for="state">State:</label>
89125
<input type="text" id="state" value="TN">
90126
<label for="postcode">Zip Code:</label>
91-
<input type="text" id="postcode" value="37215-0307">
127+
<input type="text" id="postcode" value="37215">
92128
<label for="country">Country:</label>
93129
<input type="text" id="country" value="USA">
94130
<input type="submit" class="button button-hollow" id="submit" onclick="showMessage(); showOutput()" value="See a sample identify call">

0 commit comments

Comments
 (0)