Nützliche JavaScript-Funktionen

ein kleiner anstoss für leute mit javascript-kenntnissen:
dieser thread soll dazu dienen anderen selbstgeschriebene javascript-funktionen (auch jscript, da für intranets mit dem IE gut geeignet) anzubieten die die arbeit erleichtern sollen.
gemeint sind damit nützliche funktionen wie ‚in_array()‘ aus PHP
ich kann solche funktionen auch selbst gut gebrauchen, da ich in meinem 3-monatigen praktikum beinahe ausschließlich mit JavaScript bzw. JScript arbeiten werde.

hier mal ein paar von mir:


//gibt alle GET-Variablen in einem assoziativen Array zurück
function http_get_vars() {
  var string = window.location.search;
  string = string.replace("?", "");
  string = string.split("&");
  var get_vars = new Array();
  for (var i=0; i<string.length; i++) {
    cache = string**.split("=");
    get_vars[cache[0]] = cache[1];
  }
  
  return get_vars;
}


//a = suchmuster, b=ersetzungsmuster, c=string
function str_replace(a,b,c) {
  while (c.indexOf(a) != -1) {
    c = c.replace(a, b);
  }
  
  return c;
}


//parameter gleich wie str_replace()
//anwendungsbeispiel: preg_replace(/\*(\w*)\*/g, '<b>$1</b>', '*fett* text text *auch fett*');

function preg_replace(a,b,c) {
  c = str_replace("_", "(%%)", c);
  c = str_replace(" ", "_", c);
  
  c = c.replace(a, b);
  
  c = str_replace("_", " ", c);
  c = str_replace("(%%)", "_", c);
  
  return(c);
}


function nl2br(string) {
  return str_replace("
","<br \/>",string);
}


//a = suchwert;  b = array
function in_array(a,b) {
  var stat = false;
  
  for (cache in b) {
    if (b[cache] == a) {
      stat = true;
      break;
    }
  }
  
  return stat;
}

ich hoffe auf eure beteiligung :smiley:

JS ist zwar nicht so das Richtige für mich aber wenn du willst kannste das auch ins Wiki packen (wenn du dir da nen passenden Titel ausdenkst ;))

… ich ergänze mal ein wenig


		/**
		*	trim()
		*	@return <String> s ... Zeichenkette
		*	entfernt Whitspaces am Anfang und am Ende
		*	einer Zeichenkette - Prototyp-Erweiterung
		*	String-Objekt
		*
		**/	
		String.prototype.trim = function(){
			return this.replace(/^\s*|\s*$/g, "");
		}

		/**
		*	asinh(x)
		*	@param <Double> x ........ Argument
		*	@return <Double> asinh ... Funktionswert
		*	Erweiterung des Math-Objektes
		*	um Funktion: asinh()
		*
		**/	
		Math.asinh = function(x) {
			return Math.log(x+Math.sqrt(x*x+1));
		}
	
		/**
		*	sinh(x)
		*	@param <Double> x ....... Argument
		*	@return <Double> sinh ... Funktionswert
		*	Erweiterung des Math-Objektes
		*	um Funktion: sinh()
		*
		**/
		Math.sinh = function(x) {
			return 0.5*(Math.pow(Math.E,x) - Math.pow(Math.E,-x))
		}
	
		/**
		*	cosh(x)
		*	@param <Double> x ....... Argument
		*	@return <Double> cosh ... Funktionswert
		*	Erweiterung des Math-Objektes
		*	um Funktion: cosh()
		*
		**/
		Math.cosh = function(x) {
			return 0.5*(Math.pow(Math.E,x) + Math.pow(Math.E,-x))
		}

		/**
		*	tanh(x)
		*	@param <Double> x ....... Argument
		*	@return <Double> tanh ... Funktionswert
		*	Erweiterung des Math-Objektes
		*	um Funktion: tanh()
		*
		**/
		Math.tanh = function(x) {
			return Math.sinh(x)/Math.cosh(x);
		}

Gruß Micha

He, schön, dass du zu uns gefunden hast, Micha.
Aber so alte Themen aus der Versenkung zu holen macht keinen Sinn. Du hast bestimmt schon unser Wiki gesehen, oder?
Da kann man solche Beiträge erstellen und auch nach Jahren vervollständigen.

Hi,

[QUOTE=Jango]He, schön, dass du zu uns gefunden hast, Micha.
Du hast bestimmt schon unser Wiki gesehen, oder?[/QUOTE]

Nein, ich bin erst seit 15 Minuten dabei und habe mich lediglich ein wenig im JS-Bereich umgesehen… :wink:

Gruß Micha

Oben in der Navigationsleiste befindet sich ein Link zum Wiki. :wink: