jquery修剪文本值和格式

时间:2011-06-15 13:30:47

标签: jquery format trim

我有一些jquery可以获取元素id并将其放入文本框

文本框的ID会自动设置,因此无法更改。

我正在尝试修剪id,然后对其进行格式化以使其正确读取

这是我的HTML

<a id="day_2294_110_2011-6-2" class="weekday" href="javascript:;">Day</a>

<input type="text" id="therapydate" />

我的jQuery

$('.weekday').click(function() {

    $('#therapydate').val($(this).attr('id'));

});

这会将我的文本框的值设置为day_2294_110_2011-6-2,但我想删除此day_2294_110_,只留下2011-6-2,然后将其格式设置为这样的日期{{ 1}}或2nd June 2011

这可能吗?

由于

6 个答案:

答案 0 :(得分:4)

试试这个(以MM / DD / YYYY格式给出日期):

var id = $('#therapydate').val($(this).attr('id')); 
var requiredOP = id.replace(/.*_(\d+)-(\d+)-(\d+)$/, '$2/$3/$1');

工作示例:http://jsfiddle.net/L42Lq/

答案 1 :(得分:0)

在这种情况下,您可以使用string.split()方法将其分解为数组,在这种情况下,数组将包含4个元素,最后一个元素是您想要的部分。

类似的东西:

    var splitId = $(this).attr('id').split('_');
    $('#therapydate').val(splitId[3]);

答案 2 :(得分:0)

尝试这样的事情:

var date = new Date ("day_2294_110_2011-6-2".substring(13, 21)).toUTCString();

答案 3 :(得分:0)

使用@ Cyber​​nate的解决方案。 <击>

<击>
$('.weekday').click(function() {
    var date = $(this).attr('id');
    $('#therapydate').val(date.slice(date.lastIndexOf("_")+1, date.length));
});

<击> Try it here

答案 4 :(得分:0)

好吧,您可以通过多种方式获取此ID中的日期。您可以尝试使用regExp,按' - '拆分甚至使用子串函数。 在此之后,要正确格式化日期,您可以尝试这样做: http://docs.jquery.com/UI/Datepicker/formatDate

答案 5 :(得分:0)

你可以在下划线上split()并抓住数组中的最后一项:

var id = $(this).attr('id'));
var parts = id.split('_');
var datePart = parts[parts.length-1];

您也可以获取下划线的最后一个索引,然后获取右侧所有内容的子字符串:

var id = $(this).attr('id'));
var index = id.lastIndexOf('_') + 1;
var datePart = id.substr(index);

那里有很多日期格式化文档。只是谷歌周围。例如:http://plugins.jquery.com/project/jquery-dateFormat