Javascript 如何计算不带“QUOTE”的字符数-&引用;及;()“什么;?
我有一个电话号码和字段长度计数器的输入字段。在计算字段长度时,如何忽略字段中的“-”、空格和“()”? 我的意思是,如果输入值看起来像“(099)99-99”,那么调用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匹配所
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)当@nnnnnn写评论时,答案被改变了。。为了透明和理解@nnnnnn的注释,这个答案很好地尊重了这个问题:没有确定长度的字符串的长度characters@VladimirHumeniuk,很高兴我能帮忙!