JavaScript 元素是否存在?

<div id="bar" />
<script>
if (document.getElementById('foo') == null) {
	alert('foo is missing!');
}
//or:
if ( ! document.getElementById('bar')) {
	alert('bar is missing!');
}
</script>

JavaScript 有效的Nif,Cif,Dni

/*******************************
 Validación del nif. Por Carlitos. carlosbernad@teleline.es
 Si usas este script, deja intactas estas líneas (créditos). Vale?
 También te agradecería un e-mail con tus comentarios.
*******************************/


function isValidCif(abc){
	par = 0;
	non = 0;
	letras = "ABCDEFGHKLMNPQS";
	let = abc.charAt(0);
	
	if (abc.length!=9) {
		//alert('El Cif debe tener 9 dígitos');
		return false;
	}
	
	if (letras.indexOf(let.toUpperCase())==-1) {
		//alert("El comienzo del Cif no es válido");
		return false;
	}
	
	for (zz=2;zz<8;zz+=2) {
		par = par+parseInt(abc.charAt(zz));
	}
	
	for (zz=1;zz<9;zz+=2) {
		nn = 2*parseInt(abc.charAt(zz));
		if (nn > 9) nn = 1+(nn-10);
		non = non+nn;
	}
	
	parcial = par + non;
	control = (10 - ( parcial % 10));
	if (control==10) control=0;
	
	if (control!=abc.charAt(8)) {
		//alert("El Cif no es válido");
		return false;
	}
	//alert("El Cif es válido");
	return true;
}


function isValidNif(abc){
	dni=abc.substring(0,abc.length-1);
	let=abc.charAt(abc.length-1);
	if (!isNaN(let)) {
		//alert('Falta la letra');
		return false;
	}else{
		cadena = "TRWAGMYFPDXBNJZSQVHLCKET";
		posicion = dni % 23;
		letra = cadena.substring(posicion,posicion+1);
		if (letra!=let.toUpperCase()){
			//alert("Nif no válido");
			return false;
		}
	}
	//alert("Nif válido")
	return true;
}



function isValidEmail(str){
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	return (filter.test(str));
}

function isValidTelef(num){
	if(num.length < 9){
		return false;
	}else if(isNaN( num )){
		return false;
	}else{
		return true;
	}
}

function isValidDateFormat(str){
	var filter=/^(\d{1,2}\/\d{1,2}\/\d{2})$/i;
	return (filter.test(str));
}

JavaScript 使用cookie II获取并设置状态

function cookieTime(days){
  var now = new Date();
  var exp = new Date();
  var x = Date.parse(now) + days*24*60*60*1000;
  exp.setTime(x);
  str = exp.toUTCString();
  re = '/(\d\d)\s(\w\w\w)\s\d\d(\d\d))/';
  return str.replace(re,"$1-$2-$3");
}

function setCookie ( id, value) {
  document.cookie = id+'='+value+';path=/;expires='+cookieTime(365);
}

function getCookie ( id, defaultValue ) {
  var re          = new RegExp(id+'=(.*)');
  var value       = re.exec(document.cookie);
  return (value) ? value[1].split(';')[0] : defaultValue;
}

JavaScript 对象是否具有特定属性?

if ("foo" in myObject) {}

JavaScript 接受/ DOM元素/或/ DOM元素ID的参数。

function foo (idOrEl) {
    var el = (typeof idOrEl == 'string' ? document.getElementById(idOrEl) : idOrEl);
}

JavaScript Javascript - 获取QS

<script>
function getQueryVariable(variable) {
  var query = self.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
		if( variable == 'swf'){
			salida = new String(pair[1]);
			salida2 = salida.substr(0,salida.length-4);
		}else{
			salida2 = pair[1];
		}
		return salida2;
    }
  } 
}

document.write(getQueryVariable('variableGET').toString())
</script>

JavaScript javascript recuperar datos formulario

function getFormData(objf, info, rval) {
// La función getFormData recorre todos los elementos de un formulario
// y va formando una cadena de formato "objeto=valor&objeto=valor&...".
// Los campos del formulario para los que se haya especificado el
// atributo TITLE, serán considerados campos obligatorios.
//
// formato: getFormData(objetoFormulario, tipoAvisoError, returnValue);
// objetoFormulario: tiene que ser el OBJETO, NO el nombre del formulario
// tipoAvisoError: silent: no muestra errores, si no se obtuvieron datos del formulario
// alert: muestra un mensaje de alerta y detiene la ejecución, si no se obtuvieron los datos
// returnValue: si debe devolver o no el resultado, true o false
// los campos con el title vació no son alertados
//
// ejemplo: var queryStrign = getFormData('formularioId', 'silent', true);
//
// desarrollado por Sebastián Serrani (http://www.estecoso.com.ar)
var formComplete = true;
var alertMsg = "Debe completar los siguientes campos:\r";
var getstr = "";
var formObj =document.getElementById(objf);
for (var i=0;i

if (formObj.elements[i].type != undefined && formObj.elements[i].name != undefined){
var elemValLength = formObj.elements[i].value;
// si algún campo para el envío de archivos cambia el enctype del form.
if (formObj.elements[i].type == "file"){
formObj.enctype = "multipart/form-data";
}
// chequea que todos los campos con atributo TITLE estén completos.
if (formObj.elements[i].title != "" && elemValLength.length < 1) {
alertMsg += " - " + formObj.elements[i].title + "\r";
formComplete = false;
continue;
}
// si es un checkbox, verifica que esté chequeado
if (formObj.elements[i].type == "checkbox"){
if (formObj.elements[i].checked == true){
getstr += formObj.elements[i].name + " = " + formObj.elements[i].value + "&";
}
continue;
}
// si es un radio, verifica que esté chequeado
if (formObj.elements[i].type == "radio"){
if (formObj.elements[i].checked == true){
getstr += formObj.elements[i].name + " = " + formObj.elements[i].value + "&";
}
continue;
}
if (elemValLength.length > 0) {
getstr += formObj.elements[i].name + ” = ” + formObj.elements[i].value + “&”;
}
}
}
if (!formComplete){
if (info == “alert”){
alert(alertMsg);
}
return false;
} else {
if (rval){
return getstr;
} else {
return true;
}
}
}

JavaScript 停止事件传播(阻止事件冒泡)

function doSomething (e) {
  var event = e || window.event;

  [body of event handler function goes here]

  if (event.stopPropagation) {
    event.stopPropagation();
  } else {
    event.cancelBubble = true;
  } 
}

JavaScript 接受元素或id作为参数

function f (idOrEl) {
    var el = (typeof idOrEl == 'string' ? document.getElementById(idOrEl) : idOrEl);
}

JavaScript 切换DOM元素上的类名(支持多个类名)

/**
 * Toggle ClassName
 * Works on els with multiple classnames
 */

function toggleClassname (el, newClassname, defaultClassname) {

  if (hasClass( el, defaultClassname)){
    var re = new RegExp("(^|\\s)" + defaultClassname + "(\\s|$)"); 
    el.className = el.className.replace(re, ' '+ newClassname +' ');

  } else if (hasClass( el, newClassname)){
    var re = new RegExp("(^|\\s)" + newClassname + "(\\s|$)"); 
    el.className = el.className.replace(re, ' '+ defaultClassname +' ');

  } else
    el.className += ' ' + newClassname;

}


/**
 * Has Class? (Matt Kruse)
 * Kruse's hasClass, with slight modification	
 * Determine if an object or class string contains a given class.
 * see http://groups.google.com/group/comp.lang.javascript/browse_thread/thread/b68cac304ee6de78/e445c1df18698a3f?lnk=gst&q=hasclass&rnum=3
 */

function hasClass (obj, className) {

  if (typeof obj == 'undefined' || obj==null || !RegExp) { 
    return false; 
  }

  var re = new RegExp("(^|\\s)" + className + "(\\s|$)");
  if (typeof(obj)=="string") {
    return re.test(obj);
  }
  else if (typeof(obj)=="object" && obj.className) {
    return re.test(obj.className);
  }
  return false;
};