Javascript 子字符串在返回的ajax数据对象字段上不起作用

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)); 当页面呈现时,实际上没有呈现任何内容。但是,如果

我不知道为什么这不起作用,但手机的返回值是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));
当页面呈现时,实际上没有呈现任何内容。但是,如果我只做一个严格的数据[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?