js上传文件名不能包含特殊字符

JavaScript09

js上传文件名不能包含特殊字符,第1张

判断 JS “字符串”中包含某个“字符串”,最好的办法就是 String.prototype.includes,这个 api 被发明出来就是干这个的,它直接返回布尔值,立刻就能拿来用。

如果你需要兼容某些老旧浏览器,那么就用 String.prototype.indexOf,然后判断它的返回值是不是 -1,-1 相当于 false,其它值相当于 true。

在firefox上,input(type=file)默认获取到的value值就是文件名。

在IE上,input(type=file)默认获取到的value值是路径。

因此用js来获取fileupload中的上传文件的文件名需要多方面考虑。

示例代码:

<form action="" method="get" onSubmit="return false">

<input type="text" name="test" id="test">

<input type="file" name="testFile" onChange="if(this.value)insertTitle(this.value)">

<input type="submit" value="提交">

</form>

<script language="javascript">

function insertTitle(path){

var test1 = path.lastIndexOf("/") //对路径进行截取

var test2 = path.lastIndexOf("\\") //对路径进行截取

var test= Math.max(test1, test2)

if(test<0){

document.getElementById("test").value = path

}else{

document.getElementById("test").value = path.substring(test + 1)//赋值文件名

}

}

</script>

我就知道路径document.getElementById("那个的id").value

下面的只做个参考

function

getFileName()

{

var

path

=

document.getElementById("Main_FileUpload1").value

var

pos1

=

path.lastIndexOf("\\")

alert(pos1)

var

pos2

=

path.lastIndexOf(".")

var

pos

=

path.substring(pos1

+

1,

pos2)

alert(path.substring(pos1+1,pos2))

}

Main_FileUpload1是你的那个上传的ID,我也在搞这个,搞好了,正巧也是用asp。net