我不确定为什么这不起作用,但CellPhone的返回值格式为9999999999
我需要在其中插入破折号以便它999-999-9999
所以我尝试了这个:
$("#member-cellPhone-value").html(data[0].CellPhone.substring(0, 2) + '-' + data[0].CellPhone.substring(3, 5) + '-' + data[0].CellPhone.substring(6,9));
当页面呈现它实际上什么都没有呈现时。但是,如果我只是做一个严格的数据[0] .CellPhone,它确实渲染了9999999999格式
所以换句话说,我尝试添加这些破折号并不起作用,实际上完全隐藏了这个值
答案 0 :(得分:2)
检查data[0].CellPhone
是否有值且字符串不是数字。
答案 1 :(得分:2)
首先确保data[0].CellPhone
的类型为字符串。如果没有,您可以通过data[0].CellPhone.toString()
其次你的分裂逻辑是错误的,应该如下所示
x.substring(0,3) + '-' + x.substring(3, 6) + '-' + x.substring(6,10)
其中x
是包含电话号码为字符串的变量。
答案 2 :(得分:1)
正如大家所说,请确保.toString()
,听起来确实类似数字。
获取数字的另一种方法是使用简单的正则表达式.match()
,我认为当你将数字放入html中时它会更具可读性。
var p = data[0].CellPhone.toString().match(/(\d{3})(\d{3})(\d{4})/);
$("#member-cellPhone-value").html(p[1] '-' + p[2] + '-' + p[3]);
答案 3 :(得分:0)
尝试使用简单的js
<script type="text/javascript">
var phonenum = '9999999999';
var phone= phonenum.substring(0, 2) + '-' + phonenum.substring(3, 5) + '-' + phonenum.substring(6,9);
alert(phone);
</script>
答案 4 :(得分:0)
<script type="text/javascript">
var number = '9999999999';
var changedNumber = number.replace(/(\d{3})(\d{3})(\d{4})/, "$1-$2-$3");
alert(number);
</script>