Javascript


Leer archivo de excel y convertirlo en Json

Se debe instalar la libreria XLSX por npm, bower o descargarlo.

//Instalacion con npm
$ npm install xlsx

//Instalacion con bower
$ bower install js-xlsx

Referenciar la libreria

<script src="js-xlsx\xlsx.js"></script>

En el html agregar el input file

<input type="file" name="xlfile" id="xlf" />

En el js agregar el siguiente codigo

var X = XLSX;
var xlf = document.getElementById('xlf');
if(xlf.addEventListener) {
  xlf.addEventListener('change', handleFile, false);
}

function handleFile(e) {
  var files = e.target.files;
  var f = files[0];
  var reader = new FileReader();
  reader.onload = function(e) {
    var data = e.target.result;
    var arr = fixdata(data);
    var wb = to_json(X.read(btoa(arr), {type: 'base64'}));
    //En la variable wb tenemos el objeto json con la informacion del archivo de excel
    console.log(wb);
  };
  reader.readAsArrayBuffer(f);
}

function fixdata(data) {
  var o = '';
  var l = 0;
  var w = 10240;
          for(; l < data.byteLength / w; ++l) o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w, l * w + w)));
    o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w)));
  return o;
}

function to_json(workbook) {
  var result = {};
  workbook.SheetNames.forEach(function(sheetName) {
    var roa = X.utils.sheet_to_json(workbook.Sheets[sheetName]);
    if(roa.length > 0) {
      result[sheetName] = roa;
    }
  });
  return result;
}

Regular Expresion Validator

Debe comenzar con /^ y finalizar con $/ y se pueden agregar tantas expresiones como se deseen.

var regularExpresion = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/;

(?=.*?[A-Z]) //Al menos una mayuscula
(?=.*?[a-z]) //Al menos una minuscula
(?=.*?[0-9]) //Al menos un numero
(?=.*?[#?!@$%^&*-]) //Al menos un caracter especial
.{8,} //Minimo 8 digitos

Ordenar Json Object

nameObjectJson.sort(function (a, b) {

    if(a.nameFieldOrder < b.nameFieldOrder)

        return -1;

    if(a.nameFieldOrder > b.nameFieldOrder)

        return 1;

});

results matching ""

    No results matching ""