В этом примере показано форматирование регулярного выражения и использование методов string.split() и string.replace(). Очищается необработанная строка ввода, содержащая имена (сначала имя, потом фамилия), разделённые пробелами, табуляцией и одиночным символом "точка с запятой". Наконец, имена и фамилии меняются местами (сначала - фамилия) и список сортируется.
<SCRIPT LANGUAGE="JavaScript1.2">
// Строка names содержит несколько пробелов и табуляций,
// и может содержать несколько пробелов между первым и последним именем.
names = new String ( "Harry Trump ;Fred Barney; Helen Rigby ;\
Bill Abel ;Chris Hand ")
document.write ("---------- Original String" + "<BR>" + "<BR>");
document.write (names + "<BR>" + "<BR>");
// Подготавливаются два патэрна регулярных выражения и массив для хранения.
// Строка делится на элементы массива.
// pattern: возможен пробел, затем точка с запятой, затем пустое пространство
pattern = /\s*;\s*/;
// Строка разбивается на куски, разделённые патэрном, и
// эти куски сохраняются в массиве nameList
nameList = names.split (pattern);
// Новый pattern: один или более символов, затем пробелы, затем символы.
// Используются скобки для "запоминания" части патэрна.
// Запомненная часть будет использоваться позднее.
pattern = /(\w+)\s+(\w+)/;
// Новый массив для содержания имён.
bySurnameList = new Array;
// Выводит массив имён и заполняет новый массив
// именами, разделёнными запятыми, сначала - фамилия.
//
// Метод replace удаляет любое совпадение с патэрном
// и замещает его запомненной строкой - второй запомненной частью,
// после которой идёт запятая, пробел и первая запомненная часть.
//
// Переменные $1 и $2 ссылаются на части,
// запомненные при совпадении патэрна.
document.write ("---------- After Split by Regular Expression" + "<BR>");
for ( i = 0; i < nameList.length; i++) {