在某个时刻到达时对字符进行计数
counts the characters when reached at some point
我有以下代码,运行良好;
var text_max = 459;
var text_used = 0;
var sms_count = 0;
$('#leftstring').html(text_max + '');
$('#usedstring').html(text_used + '');
$('#sms_count').html(sms_count + '');
$(document).on("keyup","#Message", function() {
var text_length = $('#Message').val().length;
var text_remaining = text_max - text_length;
var text_completed = text_used + text_length;
if(text_length <= 152) {
var smscounts =+ parseInt(smscounts)+1;
}
$('#leftstring').html(text_remaining + '');
$('#usedstring').html(text_completed + '');
$('#sms_count').html(smscounts + '');
});
问题是sms_count
,因为我正在尝试的是:我有459
个字符的限制,所以我想用3
除以它,所以当字符到达152
时,它应该计数到1
,然后对于下一个152
,它应该计到2
,然后对于最后的152
,它应该计算到3
您可能可以使用Math.ceil()
来查找必须发送的最小消息数。
var per_text = 152
$(document).on("keyup","#Message", function() {
var text_length = $('#Message').val().length;
var text_remaining = text_max - text_length;
var text_completed = text_used + text_length;
var smscounts = Math.ceil(text_length / per_text);
$('#leftstring').html(text_remaining + '');
$('#usedstring').html(text_completed + '');
$('#sms_count').html(smscounts + '');
});
这应该在逻辑上实现您所说的:
...
if(text_length <= 152) {
var smscounts =+ parseInt(smscounts)+1;
} else if (text_length <= 304) {
//do logic
} else { // it's > 304
//do logic
}
...
您想要这个
smscounts = Math.ceil(text_length / 152);
Math.ceil将四舍五入到最接近的整数。由于JavaScript的划分有点不稳定,您可能不得不这样做,而不是
smscounts = Math.floor(text_length / 152) + 1;
这是有效的:
var sms=152,text_max=3*sms; // good idea from caliburn, thanx ;-)
$(document).on("keyup","#Message", function() {
var text_length = $('#Message').val().length;
$('#leftstring').html((text_max - text_length) + '');
$('#usedstring').html((text_length % sms) + '');
$('#sms_count').html(Math.ceil(text_length / sms) + '');
});
请参见此处:http://jsfiddle.net/fkgpwhb5/
相关文章:
- 在JavaScript中输出转义字符
- 不同浏览器中的空白字符正则表达式行为
- Regex匹配除“”之外的所有字符;.js”;
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 使用RegExp查找url中的字符
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 允许在文本框中使用某些字符
- 根据页面的位置突出显示文本中的字符
- 元素的内容必须由格式正确的字符数据或标记组成
- 如何将字符串拆分为字符,但在javascript中保留空格
- 使用Google Maps API向标记添加多个字符
- 处理JSON字符串会导致JavaScript错误
- 单元格的工具提示或标题不显示超过2000个字符
- javascript替换换行符和特殊字符
- angularjs删除动态形式元素中的特殊字符
- 元素名称上带有短划线 (-) 字符的 Json 对象
- 使用时刻.js从日期时间中提取时间
- 在某个时刻到达时对字符进行计数
- 将日期与时刻转换为一个字符