Javascript 子字符串在返回的ajax数据对象字段上不起作用
我不知道为什么这不起作用,但手机的返回值是99999999格式 我需要在其中插入破折号,使其为999-999-9999,因此我尝试了以下方法:Javascript 子字符串在返回的ajax数据对象字段上不起作用,javascript,jquery,Javascript,Jquery,我不知道为什么这不起作用,但手机的返回值是99999999格式 我需要在其中插入破折号,使其为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)); 当页面呈现时,实际上没有呈现任何内容。但是,如果
$("#member-cellPhone-value").html(data[0].CellPhone.substring(0, 2) + '-' + data[0].CellPhone.substring(3, 5) + '-' + data[0].CellPhone.substring(6,9));
当页面呈现时,实际上没有呈现任何内容。但是,如果我只做一个严格的数据[0],那么单是手机就可以呈现9999999999格式
因此,换句话说,我试图添加这些破折号的尝试不起作用,事实上完全隐藏了值。检查数据[0]。手机有值,它的字符串不是数字。检查数据[0]。手机有值,它的字符串不是数字。首先确保数据[0]。手机是字符串类型。如果没有,您可以通过数据[0]将其转换为字符串。mobile.toString
其次,您的拆分逻辑是错误的,应该如下所示
x.substring(0,3) + '-' + x.substring(3, 6) + '-' + x.substring(6,10)
其中x是包含电话号码的变量,为字符串。首先确保数据[0]。手机的类型为字符串。如果没有,您可以通过数据[0]将其转换为字符串。mobile.toString
其次,您的拆分逻辑是错误的,应该如下所示
x.substring(0,3) + '-' + x.substring(3, 6) + '-' + x.substring(6,10)
其中x是包含电话号码作为字符串的变量。正如大家所说的,请确保您。toString听起来肯定像是数字类型 另一种获取数字的方法是使用一个简单的regex.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]);
正如每个人都说的,确保你。toString,听起来绝对像是数字类型 另一种获取数字的方法是使用一个简单的regex.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]);
用简单的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>
用简单的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>
也许是电话号码?你试过mobile.toString.substring0,2吗?也许是号码?你有没有试过mobile.toString.substring 0,2?