Ich versuche, einen Dateinamen mit ungültigen Zeichen im Dateinamen zu validieren, ohne den Dateipfad zu überprüfen. Ich habe verschiedene Kombinationen ausprobiert, aber keine meiner JavaScript-Funktionen scheint den Trick zu machen.Auf ungültige Zeichen (Sonderzeichen und internationales Zeichen) im Dateinamen prüfen, ohne Dateipfad zu überprüfen
@Html.TextBoxFor(model => model.Attachment, new { type = "file" , onchange = "ValidateFileName(this)" })
JS:
function ValidateFileName(name) {
if (name.value.match(/\.\.[a-z][a-z][a-z]$/) || name.value.match(/\.\.[a-z][a-z][a-z][a-z]$/) || name.value.match(/^(?!\.)(?!com[0-9]$)(?!con$)(?!lpt[0-9]$)(?!nul$)(?!prn$)[^\|\*\?\\:%<>/$"]*[^\.\|\*\?\\:%<>/$"]+$/)) {
alert('Invalid file extension.');
name.form.reset();
name.focus();
return false;
}
}
Ich habe den Pfad vom Dateinamen getrennt. Vielen Dank ! Es funktioniert jetzt. Beantworte auch deine Frage zu diesem Wert, da meine JS-Funktion tatsächlich mit Parameter.value überprüft, dass ich diesen Wert nicht übergebe. – user7221204