繁体   English   中英

如何使用javascript / jquery更改字符串?

[英]How can I change a string using javascript/jquery?

我有一个字符串Feb 2012 我怎样才能将它转换为FEBRUARY 2012 实际上我有一个完整的阵列['Jan 2011', 'Feb 2011', 'Mar 2011', ... ]我需要转换每个元素并获得['JANUARY 2011', ...]

假设字符串始终格式化为“{monthShortForm} {year}”,您可以执行以下操作:

var input = 'Jan 2011';
var parts = input.split(' ');
var output = longForm[parts[0].toLowerCase()] + ' ' + parts[1];

其中longForm就是这样的地图

longForm = { 'jan': 'JANUARY', 'feb': 'FEBRUARY', /* etc */ };

希望有所帮助。

var dt = new Date("Feb 2012"), // FEBRUARY 2012
    m_names = ["JANUARY", "FEBRUARY", "March", 
"April", "May", "June", "July", "August", "September", 
"October", "November", "December"];

var curr_month = dt.getMonth(),
    curr_year = dt.getFullYear();

console.log(m_names[curr_month] + " " + curr_year);
var myDate = new Date(Date.parse("Mar 2012"));
var monthNum = myDate.getMonth();
var year = myDate.getFullYear();

现在将monthNum转换为字符串。 我建议使用12个字符串的数组,并使用数组[monthNum]来获取正确的数组。

如果你要在你的应用程序中进行其他基于时间和日期的操作,我建议使用Moment.js(http://momentjs.com/)。 这是一个非常强大的图书馆 - 如果你需要这么做的话可能有点太多 - 但无论如何都值得研究。

要使用Moment.js回答您的问题,这是您需要的代码段:

moment('Feb 2011', 'MMM YYYY').format('MMMM YYYY').toUpperCase();
// FEBRUARY 2011

使用jQuery试试这个:

var arr = ["Jan 2011", "Feb 2011", "Mar 2011"];
var name = ["JANUARY", "FEBRUARY", "MARCH"];
var list = new Array();

// Loop through the array arr
$.each(arr, function(i, value) {

    // Convert the month names
    var month = name[i];
    var year = value.split(" ")[1];

    // Display the result
    alert(month + ' ' + year);  

    // Add elements to a new array
    list.push(month + ' ' + year);
});​

console.log(list);

控制台结果:

["JANUARY 2011", "FEBRUARY 2011", "MARCH 2011"]

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM