Regular Expression Test
Test for regular expression course work 4
HTML
1st RegExp: <input id="regexp1" value="abc" onchange="go()"/>
<select id="regexp1g" onchange="go()">
<option value="">none</option>
<option value="g">global match</option>
</select>
<select id="regexp1i" onchange="go()">
<option value="">none</option>
<option value="i">ignore case</option>
</select>
<select id="regexp1m" onchange="go()">
<option value="">none</option>
<option value="m">multiline</option>
</select>
<br/>
2nd RegExp: <input id="regexp2" value="def" onchange="go()"/>
<br/>
Wrapped RegExp: <input id="regexp3" value="" readonly="readonly"/>
<br/>
Test Text:
<br/>
<textarea id="text" cols="50" rows="10">
test that 123abcdef456 and 123abcdef456 has a match?
</textarea>
<br/>
Matches:
<br/>
<textarea id="match" cols="50" rows="10">
</textarea>
JavaScript
window.go = function() {
var falgs = document.getElementById('regexp1g').value +
document.getElementById('regexp1i').value +
document.getElementById('regexp1m').value;
var regexp1 = new RegExp(document.getElementById('regexp1').value, falgs);
var regexp2 = new RegExp(document.getElementById('regexp2').value);
var regexp3 = new RegExp(/123/.source + regexp1.source + regexp2.source + /456/.source,
(regexp1.global ? 'g' : '') + (regexp1.ignoreCase ? 'i' : '') +
(regexp1.multiline ? 'm' : ''));
document.getElementById('regexp3').value = regexp3.toString();
var m = document.getElementById('text').value.match(regexp3);
document.getElementById('match').value = m ? m.join('\n') : '';
}
window.go();