我有一个文本字段(不是日期字段),它只包含一个值" 2013-08-27"我的目标是扭转秩序并获得" 27-08-2013"。因此重新安排内容是重要的,但我没有足够的javascript知识。我尝试使用一些" date"变量,但没有成功,可能是因为我的字段不是日期字段。
与该字段相关的html如下所示:
<input type="text" value="2013-08-27" name="my_field" id="my-field" readonly="">
如果你能给我一个基于此的代码示例:
var my_field = document.getElementById('my_field');
感谢
PS:我确切地说,我无法访问此字段的html,因为它位于远程服务器上。我只能通过在为此计划的JS文件中添加代码来进行交互。该领域还有一个&#34; readonly&#34;属性因为没有计划进行修改。
答案 0 :(得分:2)
这段代码可以解决问题:
var revert = function(str) {
var parts = str.split("-");
var newArr = [];
for(var i=parts.length-1; p=parts[i]; i--) {
newArr.push(p);
}
return newArr.join("-");
}
var replaceValueInInputField = function(id) {
var field = document.getElementById(id);
field.value = revert(field.value);
}
var replaceValueInDomNode = function(id) {
var el = document.getElementById(id);
var value = el.innerHTML, newValue = '';
var matches = value.match(/(\d{4})-(\d{2})\-(\d{2})/g);
for(var i=0; m=matches[i]; i++) {
value = value.replace(m, revert(m));
}
el.innerHTML = value;
}
replaceValueInInputField("my-field");
replaceValueInDomNode("my-field2");
jsfiddle http://jsfiddle.net/qtDjF/2/
答案 1 :(得分:2)
split('-')
将返回一个数字字符串数组
reverse()
将向后排序数组
join("-")
会将数组加回' - '符号
var my_field_value = document.getElementById('my_field').value;
my_field_value.split('-').reverse().join("-");
答案 2 :(得分:0)
您可以使用拆分功能。
var my_field = document.getElementById('my_field').split("-");
var my_field = document.getElementById('my_field').split("-");
var my_field将是一个字符串数组,如:“YYYY,mm,dd” 然后你可以按照你想要的顺序重新安排它。
答案 3 :(得分:0)
试试这个
var date = document.getElementById("my-field").value;
//alert(date);
var sp = date.split("-");
alert(sp[2]+"-"+sp[1]+"-"+sp[0]);
答案 4 :(得分:0)
使用Jquery
var parts =$('#my-field').val().split("-");
$('#my-field').val(parts[2]+"-"+parts[1]+"-"+parts[0]);
答案 5 :(得分:0)
简单的正则表达式:
var res;
test.replace(/(\d\d\d\d)-(\d\d)-(\d\d)/,function(all,a,b,c){res=c+"-"+b+"-"+a;});
JSFiddle:http://jsfiddle.net/dzdA7/8/
答案 6 :(得分:0)
您可以尝试将字符串拆分为数组并在循环中反转它的项目:
var my_field = document.getElementById('my_field').value.split("-"),
length = my_field.length,
date = [];
for(i = length - 1; i >= 0; i--){
date.push(my_field[i]);
}
console.log(date.toString().replace(/,/g,"-"));