파일 경로의 유효성을 검사하지 않고 파일 이름에 유효하지 않은 문자로 파일 이름의 유효성을 검사하려고합니다. 다양한 조합을 시도했지만 내 자바 스크립트 함수 중 아무 것도 트릭을 할 것.파일 경로 유효성 검사없이 파일 이름에 잘못된 문자 (특수 문자 및 국제 문자)가 있는지 확인하십시오.
@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;
}
}
파일 이름에서 경로를 분할하는 것은 내가 누락 된 것이 었습니다. 고맙습니다 ! 이제 작동합니다. 또한 this.value에 대한 귀하의 질문에 대답, 내 JS 함수는 실제로 this.value 전달하지 못했습니다 parameter.value 함께 확인합니다. – user7221204