Javascript中可跨浏览器使用的新行计数器
Cross-browser ready new line counter in Javascript
我有两个问题:
-
我的功能看起来像
function count() { var value = ids.val(); return (value == '') ? 0 : value.replace(/'s,?|,$/g, '').split(/'r'n|'r|'n/).length; }
我想做的是跳过空白并计算所有新行例如:
85
96
75
<whitespace>
76
count()必须返回4而不是5。如何修改我的函数?
- 如何将换行分隔的单词/数字转换为逗号分隔的内容
例如:
85
96
75<whitespace>
<whitespace>
76
我想修剪所有的空白,并将整个内容转换为类似85,96,75,76
的内容。我该怎么做?
最简单的方法是.filter($.trim).map($.trim)
,它首先删除所有空白条目,然后通过删除周围的空格来清除其余条目:http://jsfiddle.net/BtLzf/1/.
var vals = ids.val()
.split(/'r'n|'r|'n/)
.filter($.trim)
.map($.trim);
vals.length; // 4
vals.join(); // 85,96,75,76
.filter
/.map
是ES5,这意味着您需要一个用于旧浏览器的填充程序。
我认为你需要做一个循环来检查每一行的长度,因为在这种情况下,你得到的是行尾字符的数量,即使这一行是空的,也是5。。。得到这个迭代器,你还可以得到逗号列表
我建议使用正则表达式模式,这样可以更好地清理问题。也许:
^(''d+)''s?$
$(function(){
var matches = $('#txtInput').text().match(/^('d+)'s?$/mg);
$('#txtResult').text(matches.join(','));
});
工作示例:http://jsfiddle.net/mZ97L/
这样的东西怎么样?
// Count of items in the list.
function count(){
var list = delimitedList();
return list.split(",").length;
}
// Get list separated by comma.
function delimitedList(){
var value = ids.val();
return value.replace(/'s+/g, ",");
}
http://jsfiddle.net/wT23h/2/
相关文章:
- 如何从rails中的代码中删除新行( )
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 如何在脚本上添加新行
- 在不刷新整个网格的情况下,向Asp.net网格视图添加新行
- 字符串中的
标记未正确在 HTML 中创建新行 - JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 反应中的新行
- 阻止ReSharper将JavaScript函数参数放到新行中
- HTML表内容:如果行很长,如何在新行中显示部分内容
- dhtmlx添加新行并启动单元格编辑器
- 将新行打印到$mdToast
- 在新行(html)中动态添加更多文本字段
- 使用删除文本创建新行
- 如何在Google Geochart图表的工具提示文本中添加新行
- NodeJS Fork-每次子流程发送新行时都进行React
- 为什么要将此p标记添加为新行
- 如何转义php中的新行字符以输出为javascript字符串值
- 在Aptana Studio 3中将Javascript数组自动格式化为新行
- Jquery在表WITH函数中追加新行后添加单击事件
- Javascript中可跨浏览器使用的新行计数器