Javascript.RU

PHP-функция: soundex

Javascript:

function soundex( str ) {	// Calculate the soundex key of a string
	// 
	// +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)

	var i, j, l, r, p = isNaN(p) ? 4 : p > 10 ? 10 : p < 4 ? 4 : p,
	m = {BFPV: 1, CGJKQSXZ: 2, DT: 3, L: 4, MN: 5, R: 6},
	r = (s = str.toUpperCase().replace(/[^A-Z]/g, "").split("")).splice(0, 1);
	for(i = -1, l = s.length; ++i < l;){
		for(j in m){
			if(j.indexOf(s[i]) + 1 && r[r.length-1] != m[j] && r.push(m[j])){
				break;
			}
		}
	}
	return r.length > p && (r.length = p), r.join("") + (new Array(p - r.length + 1)).join("0");
}

Примеры:

soundex('Kevin');
'K150'


Автор: Гость (не зарегистрирован), дата: 12 апреля, 2022 - 20:26
#permalink

Автор: Гость (не зарегистрирован), дата: 16 апреля, 2022 - 14:31
#permalink

Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
10 + 10 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние комментарии
Последние темы на форуме
Forum