Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

122
Vistas
La validación de la extensión de archivo no se verifica correctamente en jquery

He escrito una validación para exceptuar archivos que tienen una extensión de .xls y .xlsx Así que aquí está el código a continuación.

 function isFileValid() { var allowedFiles = [".xlsx", ".xls"]; // var allowedFiles = [".xls"]; var fileUpload = document.getElementById("MainContent_fluploadData"); var fileChanged = fileUpload.value !== window.lastUploadedFilename; window.lastUploadedFilename = fileUpload.value; var regex = new RegExp("([a-zA-Z0-9\s_\\.\-:])+(" + allowedFiles.join('|') + ")$"); if (!regex.test(fileUpload.value.toLowerCase()) && fileUpload.value !== '') { alert("Please upload files having extensions: " + allowedFiles.join(', ') + " only."); $('#MainContent_fluploadData').val(''); return false; } }

Entonces, incluso si estoy cargando un archivo de Excel válido cuyo nombre es: - SITE_ADDITION (1).xlsx

Por favor recomiende.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Si está buscando expresiones regulares, utilice la siguiente expresión regular para su código.

 var regEx = new RegExp("^.*\.xls[xm]?$");//reg ex for excel file console.log(regEx.test("abc.xlsx"));// true console.log(regEx.test("abc.xls"));//true console.log(regEx.test("abc.xlsm"));//true console.log(regEx.test("abc.xlst"));//false console.log(regEx.test("abc.doc"));//false console.log(regEx.test("SITE_ADDITION (1).xlsx"));//true

about 4 years ago · Juan Pablo Isaza Denunciar

0

Si solo le preocupa la extensión, use esto:

 function isFileValid() { var allowedFiles = [".xlsx", ".xls"]; var fileUpload = document.getElementById("MainContent_fluploadData"); window.lastUploadedFilename = fileUpload.value; var regex = new RegExp('\\.(' + allowedFiles.join('|') + ')$', 'i'); if (!regex.test(fileUpload.value)) { alert("Please upload files having extensions: " + allowedFiles.join(', ') + " only."); $('#MainContent_fluploadData').val(''); return false; } }

Notas:

  • no necesita verificar los caracteres que conducen al . si no le importan los caracteres en el nombre del archivo, siempre que no ancle la expresión regular al principio.
  • '\\.(' - si define una cadena y desea tener una barra invertida literal, debe escapar: \\
    • en otras palabras, la definición de cadena '\\.(' se convierte en \.( en la memoria
  • el segundo parámetro del constructor RegExp indica que no distingue entre mayúsculas y minúsculas

Si, por otro lado, desea restringir los caracteres en el nombre del archivo, use esto:

 function isFileValid() { var allowedFiles = [".xlsx", ".xls"]; var fileUpload = document.getElementById("MainContent_fluploadData"); window.lastUploadedFilename = fileUpload.value; var regex = new RegExp('^[a-z0-9\\s_\\.\\-:\\(\\)]+\\.(' + allowedFiles.join('|') + ')$', 'i'); if (!regex.test(fileUpload.value)) { alert("Please upload file with only AZ, 0-9, space, dot, dash, :, () in name, and extension: " + allowedFiles.join(', ')); $('#MainContent_fluploadData').val(''); return false; } }

Notas:

  • la expresión regular debe estar anclada al principio con ^
  • modificar la clase de carácter según sea necesario para los caracteres permitidos
  • por otro lado, en caso de que tenga el nombre completo de la ruta en su nombre de archivo, comience la cadena de expresiones regulares con: '[\\/\\\\][a-z0-9...
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda