我有一个文本字段
<input id="prime-phone" class="number-format" name="prime-phone" placeholder="" type="tel">
如果有固定值,那就是"(432)432-2432"
。
我想计算数字的长度而不是特殊字符,例如&#34;(&#34;,&#34; - &#34;
我正在尝试这种方式而且我也知道我做错了什么
sd = $(".number-format").val();
alert(sd);
sd = parseInt(sd)
alert(sd)
数字格式可以更改为"(432)432-2432"
,"(43)-(432)-2432"
由于 提前寻求帮助:)
答案 0 :(得分:1)
使用正则表达式匹配数字和计数:
sd.match(/\d/g).length
答案 1 :(得分:1)
var sd = $(".number-format").val();
//i want to count the length of number only not the special character like "(" , "-"
var len = sd.match(/\d/g).length;
试试吧
答案 2 :(得分:1)
使用replace()删除非数字字符并计算
sd=$(".number-format").val();
alert(sd);
len=sd.replace(/\D/g,'').length;
// \D used to match all non-digit character
alert(len);
答案 3 :(得分:0)
可重复使用的解决方案。 一旦定义,你可以调用它们来排除不需要的字符并获得长度。我发现这更容易维护。
var tel = "(432)432-2432";
var getLength = function(tel){
var telStr = tel.split('');
var excpetionList = ['(',')','-']; //<-- here you can add the chars to remove
return telStr.filter(function(item,index,arr){
if(excpetionList.indexOf(item) < 0){
return item;
}
}).join('').length;
};
console.log(getLength(tel));