main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
//Madlibs; click run and fill in the prompts. Enter cancel to close all prompt windows.































var madlib = "I'm so {emotion} that I can't even {verb not ending in ing or ed} straight. Last {time of day} my {funny adjective} brother {verb ending with ed}. Now, I can't {verb} because of him! The {adjective} part is he is only {number} years old, so I can't even {form of punishment} him. I wish I had an {adjective} brother who didn't drive me {adjective}.";

var madlib_pattern = /{(.+?)}/g;

blanks = madlib.match(madlib_pattern);
for(var i in blanks){
  var word = window.prompt("Give me a "+blanks[i]);
  
  if ("cancel"==word){break}
  
  madlib = madlib.replace(blanks[i], word);
}
console.log(madlib);

Native Browser JavaScript