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

时间:2012-10-23 12:16:13

标签: jquery regex str-replace

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

filename1 = "a.crudely_formed.document_name.jpg"         
var fileExtension = filename1.substring(filename1.lastIndexOf('.')); 

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

此外,当我有文件名(没有扩展名)时,我需要一些与此相似的内容

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

上面基本上意味着用短划线替换所有空格,只允许a-z和A-Z字符和所有数字。在上面的示例中,例如åöä被aoa替换。

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

1 个答案:

答案 0 :(得分:14)

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

var output = filename1.substr(0, filename1.lastIndexOf('.')) || filename1;

要替换我用过的字符:

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