计算 textarea 中全是数字的行数?
Count the number of lines in textarea that are all numbers?
我需要通过 JQuery 或普通的旧 JS 计算文本区域中的行数-但这不是全部问题。
我还需要遍历每一行并匹配每一行(可能使用一些正则表达式)所有条目都是数字 - 带或不带逗号。
我想我有一些正则表达式可以根据需要进行匹配:
(?:^|\s)(\d*\.?\d+|\d{1,3}(?:,\d{3})*(?:\.\d+)?)(?!\S)
对我来说最困难的部分是 运行 遍历文本区域的每一行并验证(并返回计数)所有有效行。
我该怎么做?
在帮助下解决了,感谢 Barmar。
function getLineCount() {
var lines = $('textarea#my-textarea').val().split('\n');
var count = 0;
lines.forEach(function (line) {
if (/(?:\b)(\d*\.?\d+|\d{1,3}(?:,\d{3})*(?:\.\d+)?)(?!\S)/.test(line)) {
count++;
}
});
//console.log(count);
return count;
}
如果您愿意,显然可以通过对象重载使其更实用,但我的用例更具体到单个文本区域。
我需要通过 JQuery 或普通的旧 JS 计算文本区域中的行数-但这不是全部问题。
我还需要遍历每一行并匹配每一行(可能使用一些正则表达式)所有条目都是数字 - 带或不带逗号。 我想我有一些正则表达式可以根据需要进行匹配:
(?:^|\s)(\d*\.?\d+|\d{1,3}(?:,\d{3})*(?:\.\d+)?)(?!\S)
对我来说最困难的部分是 运行 遍历文本区域的每一行并验证(并返回计数)所有有效行。
我该怎么做?
在帮助下解决了,感谢 Barmar。
function getLineCount() {
var lines = $('textarea#my-textarea').val().split('\n');
var count = 0;
lines.forEach(function (line) {
if (/(?:\b)(\d*\.?\d+|\d{1,3}(?:,\d{3})*(?:\.\d+)?)(?!\S)/.test(line)) {
count++;
}
});
//console.log(count);
return count;
}
如果您愿意,显然可以通过对象重载使其更实用,但我的用例更具体到单个文本区域。