用Moment.js检查hh:mm格式是否有效
Check if valid hh:mm format with Moment.js
我试图从Moment.js表中求和时间(格式hh:mm
)。
这是我的js
function timemanage(){
$('.lebih').each (function() {
if(moment('.lebih', 'hh:mm').isValid()){
var value = $(this).text();
if(!isNaN(value) && value.length != 0) {
sum += parseFloat(value);
}
$('.jamlebih').val(sum);
}else{
alert("No");
}
});
}
$(document).ready(function(){
timemanage();
});
<table class="table">
<thead>
<tr>
<td> No </td>
<td> Full Name </td>
<td> Attendance Date </td>
<td> In Time </td>
<td> Out Time </td>
<td> Waktu Lebih </td>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>[1602744] - RAHMAT </td>
<td>2016-08-28</td>
<td class="jammasuk">
08:55:00
</td>
<td class="jampulang">
16:03:00
</td>
<td class="lebih">Jam Kerja Kurang Dari 8 Jam</td>
</tr>
<tr>
<td>2</td>
<td>[1602744] - RAHMAT </td>
<td>2016-08-29</td>
<td class="jammasuk">
08:55:00
</td>
<td class="jampulang">
16:03:00
</td>
<td class="lebih">Jam Kerja Kurang Dari 8 Jam</td>
</tr>
<tr>
<td>3</td>
<td>[1602744] - RAHMAT </td>
<td>2016-08-30</td>
<td class="jammasuk">
08:55:00
</td>
<td class="jampulang">
16:03:00
</td>
<td class="lebih">Jam Kerja Kurang Dari 8 Jam</td>
</tr>
<tr>
<td>4</td>
<td>[1602744] - RAHMAT </td>
<td>2016-08-31</td>
<td class="jammasuk">
08:55:00
</td>
<td class="jampulang">
18:03:00
</td>
<td class="lebih">01:08</td>
</tr>
<tr>
<td colspan="4"> </td>
<td>Total Jam Lebih</td>
<td>
<input name="jamlebih" type="text" readonly disabled class="jmljam" />
</td>
</tr>
<tr>
<td colspan="4"> </td>
<td>Ro Yang DiDapatkan</td>
<td>
<input name="dapetro" type="text" readonly disabled class="ronya" />
</td>
</tr>
</tbody>
</table>
我已经阅读了文档,但我看不到如何检查格式hh:mm
是否有效的任何部分。我的脚本上面,我总是收到警报no
。
我看不懂你页面上的文字,但我已经尽了最大的努力去理解你的解释。请注意,为了测试的目的,我还更改了一个时间框,将两个值添加在一起。
正如在你的帖子评论中解释的那样,你需要给momentjs一个值来解析,那就是$(this).text()
。但是momentjs在解析中是非常宽容的。它仍然会解析文本中的"8"。所以你必须用'true'作为第三个参数初始化你的时刻,像这样:var thisMoment = moment(value, 'hh:mm', true);
。这将启用严格解析,因此moment将不会解析'8'。
使用moment的内置.add(object)
将两个moment添加在一起也是一个不错的主意。因为我们只使用hh:mm
,所以我使用var total = moment().startOf('day')
来给我们一个可以添加到12:00:00
的干净的石板。
您还试图更改一个不存在的类的值。当你真正想通过输入名称获得它时,你有$('.jamlebih').val(sum);
(或者你可以自己添加类,如果你愿意的话),像这样:$("input[name='jamlebih']")
相关文章:
- 24小时输入时间:mm格式跨浏览器
- 用javascript将日期格式从d/m/yyyy转换为yyyy-mm-dd
- 在Datepicker中将日期格式更改为yyyy-mm-dd
- 以HH:mm格式计算时差
- 如何在JavaScript中以天、dd/mm/yyyy格式显示昨天的日期
- 使用Javascript将MySQL日期格式转换为DD/MM/YY日期格式
- 我需要用age Javascript验证dd/mm/yy格式(闰年)的dob
- 如何使用moment.js将秒转换为时间格式(YYYY:MM:DD HH:MM:ss)
- 在模糊 javascript 上格式化为 hh:mm 输入
- JavaScript 将长日期格式转换为 mm/dd/yyy
- Javascript 正则表达式日期格式 dd/mm/yy
- Javascript Date 对象因格式而异:yyyy-mm-dd vs mm-dd-yyyy
- 在Javascript中用YYYY-mm-dd格式计算年龄
- 如何使用时刻.js获取总小时数 HH:MM 格式
- 用javascript将时间字符串从hhmm格式转换为hh:mm格式
- 如何在HTML5中添加时间选择器,它具有HH:MM格式和所选日期
- add方法验证yyyy-dd-mm格式的日期有什么问题?
- 用Moment.js检查hh:mm格式是否有效
- hh:mm格式的浮动饼图数据
- 如何验证MM/dd/yyyy hh:MM格式的DateTime