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

誰もが言っているように、必ず typeof number.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]);
于 2012-11-06T04:25:43.603 に答える
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 に答える
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 に答える