jQuery,获取没有扩展名的文件名,然后替换字符串

Alb*_*n N 3 regex jquery str-replace

我有这段代码来获取文件扩展名:

filename1 = "a.crudely_formed.document_name.jpg"         
var fileExtension = filename1.substring(filename1.lastIndexOf('.')); 
Run Code Online (Sandbox Code Playgroud)

现在我只需要获取文件名,没有扩展名.正如您在示例中所看到的,文件名可以由用户命名,这就是我必须使用lastIndexOf()方法的原因.我找了一个这样做的方法,但我一无所获.

另外,当我有文件名(没有扩展名)时,我需要类似的东西

$filename = strtolower(str_replace(array('  ', ' '), '-', preg_replace('/[^a-zA-Z0-9 s]/', '', trim($filename))));
Run Code Online (Sandbox Code Playgroud)

以上基本上意味着,用短划线替换所有空格,只允许az和AZ字符以及所有数字.在上面的例子中,例如åöä被aoa取代.

有关如何在jQuery中执行此操作的任何建议?

Alb*_*n N 14

好的,只获取我用过的文件名:

var output = filename1.substr(0, filename1.lastIndexOf('.')) || filename1;
Run Code Online (Sandbox Code Playgroud)

要替换我用过的字符:

output = output.replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '-');
Run Code Online (Sandbox Code Playgroud)