使用javascript拆分名称和根名称

时间:2015-09-25 19:57:04

标签: javascript html

我正在创建一个简单的程序,提示用户输入带有扩展名的文件名,我的程序将分隔文件名和根名。基本上,我的目标如下所示:

userinput=Jack.html
filename=Jack
rootname=html

我能够使用split功能将其分开并单独访问,但我的问题是当用户输入有多个句点时,例如像这样

userinput= Jack.1.2.html
filename=Jack.1.2
rootname=html

如果用户输入有多个句点,我该怎么做呢? 这是我的代码。我也希望在多个时期工作:

var userinput, splitinput; 
var rootname, filename;

userinput= prompt('Enter filename:') //
splitinput=userinput.split('.')
filename= splitinput[0]
rootname=splitinput[1]+ userinput[2]
console.log(filename)
console.log(rootname)

3 个答案:

答案 0 :(得分:1)

您可以使用file_put_contents($file, $person, FILE_APPEND | LOCK_EX); pop()来完成此操作。实际上我们按句点分割字符串,然后弹出最后一个字符串,然后我们得到字符串的两个部分(rootname和filename)。

这是现场演示



join()

var userinput = prompt('Enter filename:');
var splitinput = userinput.split('.');
var rootname = splitinput.pop();
var filename = splitinput.join(".");

document.getElementById("output1").textContent = filename;
document.getElementById("output2").textContent = rootname;




答案 1 :(得分:1)

按最后一个句点的位置拆分,如下所示:



    var userinput; 
    var rootname, filename;
    
    userinput= prompt('Enter filename:') //
    filename= userinput.substring(0,userinput.lastIndexOf('.'))
    rootname=userinput.substring(userinput.lastIndexOf('.')+1)
    console.log(filename)
    console.log(rootname)




答案 2 :(得分:1)

使用带有负参数的Array.slice()来关闭数组的最后一部分(例如,html),然后重新加入:

var userinput = prompt('Enter filename:'),
    filename = userinput.split('.').slice(0, -1).join('.') || userinput;

alert('Filename: ' + filename);

http://jsfiddle.net/u3nb2ctL/