Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript—计算锚定标记的字符数_Javascript_Jquery - Fatal编程技术网

Javascript—计算锚定标记的字符数

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

基本上,我想创建一个函数来搜索字符串中的锚定标记,当它找到锚定标记时,计算其中的字符数并返回该数字。我这样做是为了一个编辑器,该编辑器正在计算textarea中的字符数,因为textarea有一个用户可以输入的限制,我不希望链接中的字符数计入该总数

如果文本区域中有此项:

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