Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用java脚本在文件上传中获得无扩展名的文件名_Javascript_Asp.net_File Upload - Fatal编程技术网

Javascript 如何使用java脚本在文件上传中获得无扩展名的文件名

Javascript 如何使用java脚本在文件上传中获得无扩展名的文件名,javascript,asp.net,file-upload,Javascript,Asp.net,File Upload,我将使用asp.net中的文件上载控件上载文件。现在我想使用java脚本获取不带扩展名的文件名。 我想验证文件名是否应仅为整数格式 $(function () { $('#<%=File1.ClientID %>').change(function () { var uploadcontrol = document.getElementById('<%=File1.ClientID%>').value; }) }) $(函数(){ $(

我将使用asp.net中的文件上载控件上载文件。现在我想使用java脚本获取不带扩展名的文件名。 我想验证文件名是否应仅为整数格式

$(function () {
    $('#<%=File1.ClientID %>').change(function () {
         var uploadcontrol = document.getElementById('<%=File1.ClientID%>').value;
    })
})
$(函数(){
$('#')。更改(函数(){
var uploadcontrol=document.getElementById(“”).value;
})
})

您可以根据点('.'的最后一个实例对其进行拆分

var uploadcontrol=document.getElementById(“”).value;
uploadcontrol=uploadcontrol.split('.')[uploadcontrol.split('.').length-2];
但是,

这仅适用于简单情况。。。下面给出了一个更好的通用答案

在通用解决方案中解决这些问题

  • 摆脱/或走到最后一步/
  • 如果字符串有多个点('.'),则只删除最后一个点之后的字符串
试试这个:

$('#test').change(function() {

      //something like C:\fakepath\1.html 
    var fpath = this.value;

    fpath = fpath.replace(/\\/g, '/');

    var fname = fpath.substring(fpath.lastIndexOf('/')+1, fpath.lastIndexOf('.'));

    console.log(fname);

});

使用
而不是DOM查询来获取当前文件输入。此问题获取带扩展名的文件名,但我的问题是获取不带扩展名的文件名!!!!!“重复”问题不是问同样的问题。这一问题要求将延长期限也删除。为什么每个人都不看一眼就把遇到的每一个问题都解决了?绝对不是重复的.document.location.pathname.replace(/(.[\/\]+\w+$)/gm,)
uploadcontrol.split.length
这是什么黑魔法?@Tommi这是JavaScript黑魔法。。这为我们提供了拆分功能。读了这篇文章,我们得到了一个基于点(.)号的字符串列表是的,但是你如何得到函数本身的
长度,以及它对你有什么作用?你试过运行你的代码吗?好的,我试过了,它可以运行。但是我不懂这个技巧,我会读更多的。@Tommi函数返回一个数组,因此它是有效的
$('#test').change(function() {

      //something like C:\fakepath\1.html 
    var fpath = this.value;

    fpath = fpath.replace(/\\/g, '/');

    var fname = fpath.substring(fpath.lastIndexOf('/')+1, fpath.lastIndexOf('.'));

    console.log(fname);

});