Javascript—计算锚定标记的字符数
基本上,我想创建一个函数来搜索字符串中的锚定标记,当它找到锚定标记时,计算其中的字符数并返回该数字。我这样做是为了一个编辑器,该编辑器正在计算textarea中的字符数,因为textarea有一个用户可以输入的限制,我不希望链接中的字符数计入该总数 如果文本区域中有此项:Javascript—计算锚定标记的字符数,javascript,jquery,Javascript,Jquery,基本上,我想创建一个函数来搜索字符串中的锚定标记,当它找到锚定标记时,计算其中的字符数并返回该数字。我这样做是为了一个编辑器,该编辑器正在计算textarea中的字符数,因为textarea有一个用户可以输入的限制,我不希望链接中的字符数计入该总数 如果文本区域中有此项: This is what it looks like here <a href="http://www.bmhl.com">Placeholder</a>. Please click the link
This is what it looks like here <a href="http://www.bmhl.com">Placeholder</a>. Please click the link to go to the page.
这里就是这个样子。请单击链接转到该页面。
锚之前有32个字符,中间有11个字符,后面有42个字符,总共85个字符。在锚定标记中有34个字符,我不想进入计数
希望有意义。如果输入应该是字符串:
function getLength (string) {
return string.match(/<a[^>]+>([^<]+)<\/a>/)[1].length
}
函数getLength(字符串){
返回string.match(/]+>([^如果输入应为字符串:
function getLength (string) {
return string.match(/<a[^>]+>([^<]+)<\/a>/)[1].length
}
函数getLength(字符串){
返回字符串。匹配(/]+>([^
我没有测试它,但它可能会工作
我没有测试它,但它可能会工作。不确切地确定您需要什么,但此函数为示例文本返回11:
function count(textareaInput) {
var count = 0;
$(textareaInput).filter('a').each(function() {
count += $(this).text().length;
});
return count;
}
不完全确定您需要什么,但此函数为示例文本返回11:
function count(textareaInput) {
var count = 0;
$(textareaInput).filter('a').each(function() {
count += $(this).text().length;
});
return count;
}
为什么只想去掉锚标记?您可能想看看。下面是一个修改后的答案,返回一些html代码的长度
function plainTextLength(html) {
var tmp = document.createElement("div");
tmp.innerHTML = html;
var txt = tmp.textContent||tmp.innerText;
return txt.length;
}
这也适用于上面的示例。为什么只想去掉锚标记?您可能需要查看一下。下面是一个修改后的答案,返回一些html代码的长度
function plainTextLength(html) {
var tmp = document.createElement("div");
tmp.innerHTML = html;
var txt = tmp.textContent||tmp.innerText;
return txt.length;
}
这也适用于上面的示例。您可以使用以下内容:
$('textarea').keyup(function() {
$('#count').text( this.value.replace(/<\/?a\s*[^>]*>/g, '').length );
});
$('textarea').keyup(函数(){
$('#count').text(this.value.replace(/]*>/g',).length);
});
.您可以使用以下内容:
$('textarea').keyup(function() {
$('#count').text( this.value.replace(/<\/?a\s*[^>]*>/g, '').length );
});
$('textarea').keyup(函数(){
$('#count').text(this.value.replace(/]*>/g',).length);
});
.你是说像那样数一数中间的abcd字符吗?你是说像那样数一数中间的abcd字符吗?我要试试这个。谢谢Jeff我要试试这个。谢谢Jeff