1

我不确定为什么这不起作用,但 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));

当页面呈现时,它实际上没有呈现任何内容。但是,如果我只做一个严格的 data[0].CellPhone ,它确实会呈现 9999999999 格式

所以换句话说,我尝试添加这些破折号是行不通的,实际上完全隐藏了这个值

4

5 回答 5

2

检查是否data[0].CellPhone有一个值,它是一个字符串而不是一个数字

于 2012-11-06T04:15:16.023 回答
2

首先确保data[0].CellPhone是字符串类型。如果不是,您可以将其转换为字符串data[0].CellPhone.toString()

其次,您的拆分逻辑是错误的,应该如下

x.substring(0,3) + '-' + x.substring(3, 6) + '-' + x.substring(6,10)

其中x是包含电话号码作为字符串的变量。

于 2012-11-06T04:16:27.397 回答
1

正如每个人所说,确保你.toString(),绝对听起来像它的 typeof number

获取数字的另一种方法是使用简单的 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]);
于 2012-11-06T04:25:43.603 回答
0
<script type="text/javascript">
var number = '9999999999';
var changedNumber = number.replace(/(\d{3})(\d{3})(\d{4})/, "$1-$2-$3");

alert(number);
</script>
于 2012-11-06T05:37:52.873 回答
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>
于 2012-11-06T04:40:39.727 回答