Javascript 如何计算不带“QUOTE”的字符数-&引用;及;()“什么;?

Javascript 如何计算不带“QUOTE”的字符数-&引用;及;()“什么;?,javascript,jquery,html,Javascript,Jquery,Html,我有一个电话号码和字段长度计数器的输入字段。在计算字段长度时,如何忽略字段中的“-”、空格和“()”? 我的意思是,如果输入值看起来像“(099)99-99”,那么调用val()时它的长度应该是7,而不是11 var phoneInput = getElementById("phone"); var counter = getElementById("lengthCounter"); counter.text(phoneInput.val().length); 尝试使用正则表达式。\D匹配所

我有一个电话号码和字段长度计数器的输入字段。在计算字段长度时,如何忽略字段中的“-”、空格和“()”? 我的意思是,如果输入值看起来像“(099)99-99”,那么调用
val()时它的长度应该是7,而不是11

var phoneInput = getElementById("phone");
var counter = getElementById("lengthCounter");

counter.text(phoneInput.val().length);

尝试使用正则表达式。
\D
匹配所有
非数字
字符,并且
g
是正则表达式的
全局
修饰符。
将所有非数字替换为空字符串,然后计算字符串的长度

var string=“(099)99-99”;

console.log(string.replace(/\D/g'').length)通过用空字符串替换所有出现的字符,输出的长度就是您要寻找的

const  value = phoneInput.val();

value.replace(/[\-\(\)]/g, '').length // replace "-", "(", ")" by empty string
constphoneinput=document.querySelector('input');
常量值=phoneInput.value;
控制台日志(
值。替换(/[\-\(\)]/g',)。长度
)   

这将用空尾钉替换任何不是数字的东西

counter.text(phoneInput.val().replace(/[^\d]/g, '').length) 

看看这个!不需要写很多行代码

函数计数(){
var x=document.getElementById(“电话号码”);
var count=x.value.replace(/[^0-9]/g,“”).length;
$(“#显示计数”).text(“数字计数”+Count);
}

输入您的号码:


替换为“”,然后计算新字符串的长度

var phoneNum=“(+84)122-384-6471”;
var count=phoneNum.replace(/\D/g,“”).length;

警报(计数)
String#replace
采用正则表达式
\D
是一种将匹配非数字内容的模式。
phoneInput.val().replace(/[^\D]/g')。length
如果输入不包含数字,这将崩溃。@nnnnnnnn同意您需要将非数字字符替换为空字符串。这个答案是
console.log(string.match(/\D/g).length)