I was playing around with the following code for another question on StackOverflow and thought that it might be appropriate for here. The function printList2 allows the use of a regex and lists all the occurrences in order. (printList was an attempt at an earlier solution, but it failed in a number of cases.)
<html>_x000D_
<head>_x000D_
<title>Checking regex</title>_x000D_
<script>_x000D_
var string1 = "123xxx5yyy1234ABCxxxabc";_x000D_
var search1 = /\d+/;_x000D_
var search2 = /\d/;_x000D_
var search3 = /abc/;_x000D_
function printList(search) {_x000D_
document.writeln("<p>Searching using regex: " + search + " (printList)</p>");_x000D_
var list = string1.match(search);_x000D_
if (list == null) {_x000D_
document.writeln("<p>No matches</p>");_x000D_
return;_x000D_
}_x000D_
// document.writeln("<p>" + list.toString() + "</p>");_x000D_
// document.writeln("<p>" + typeof(list1) + "</p>");_x000D_
// document.writeln("<p>" + Array.isArray(list1) + "</p>");_x000D_
// document.writeln("<p>" + list1 + "</p>");_x000D_
var count = list.length;_x000D_
document.writeln("<ul>");_x000D_
for (i = 0; i < count; i++) {_x000D_
document.writeln("<li>" + " " + list[i] + " length=" + list[i].length + _x000D_
" first position=" + string1.indexOf(list[i]) + "</li>");_x000D_
}_x000D_
document.writeln("</ul>");_x000D_
}_x000D_
function printList2(search) {_x000D_
document.writeln("<p>Searching using regex: " + search + " (printList2)</p>");_x000D_
var index = 0;_x000D_
var partial = string1;_x000D_
document.writeln("<ol>");_x000D_
for (j = 0; j < 100; j++) {_x000D_
var found = partial.match(search);_x000D_
if (found == null) {_x000D_
// document.writeln("<p>not found</p>");_x000D_
break;_x000D_
}_x000D_
var size = found[0].length;_x000D_
var loc = partial.search(search);_x000D_
var actloc = loc + index;_x000D_
document.writeln("<li>" + found[0] + " length=" + size + " first position=" + actloc);_x000D_
// document.writeln(" " + partial + " " + loc);_x000D_
partial = partial.substring(loc + size);_x000D_
index = index + loc + size;_x000D_
document.writeln("</li>");_x000D_
}_x000D_
document.writeln("</ol>");_x000D_
_x000D_
}_x000D_
</script>_x000D_
</head>_x000D_
<body>_x000D_
<p>Original string is <script>document.writeln(string1);</script></p>_x000D_
<script>_x000D_
printList(/\d+/g);_x000D_
printList2(/\d+/);_x000D_
printList(/\d/g);_x000D_
printList2(/\d/);_x000D_
printList(/abc/g);_x000D_
printList2(/abc/);_x000D_
printList(/ABC/gi);_x000D_
printList2(/ABC/i);_x000D_
</script>_x000D_
</body>_x000D_
</html>
_x000D_