Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

130
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda