将.html添加到字符串Javascript?
答
您可以使用正则表达式为
var string1 = "www.example.com/index";
var newString = !/\.php$/i.test(string1)? string1+".html": string1;
// newString = "www.example.com/index.html"
答
尝试是这样的
function isPHP(str)
{
return str.substring(str.length - 4) == ".php";
}
那么你可以做
str = isPHP(str) ? str : str + ".html";
+1
不是'(str.length - 4)'吗? – 2012-04-06 17:15:13
+1
@斯科特,正确的,为现场欢呼。 – 2012-04-06 17:18:58
答
使用(yourstring + '.html').replace(/\.php\.html$/, '.php')
做到这一点:
var str1 = 'one.php';
var str2 = 'two';
var str3 = '.php.three.php';
var str4 = '.php.hey';
console.log((str1 + '.html').replace(/\.php\.html$/, '.php')); // Prints one.php
console.log((str2 + '.html').replace(/\.php\.html$/, '.php')); // Prints two.html
console.log((str3 + '.html').replace(/\.php\.html$/, '.php')); // Prints .php.three.php
console.log((str4 + '.html').replace(/\.php\.html$/, '.php')); // Prints .php.hey.html
答
或许:
function appendHTML(string) {
var html = string;
if (string.lastIndexOf('.php') === (string.length - 4)) {
html += '.html';
}
return html;
}
答
使用正则表达式来解决你的问题。 /.php$/是一个正则表达式,检查是否一个字符串与 '.PHP'
有关详细信息读取结束时:http://www.w3schools.com/js/js_obj_regexp.asp
例如代码:
str = "http://abc.com";
str = (/\.php$/.test(str)) ? str : str + '.html'; // this is the line you want.
str === "http://abc.com.html" // returns true
答
那么,slice()
适用于此任务。
var s = "myfile.php";
if (s.slice(-4) != ".php")
s = s.slice(0, -4) + ".html";
@ user1317928请尝试用代码来解释你的问题很好(你试过)如果可能的话,从下一次 – Devjosh 2012-04-06 17:23:38