jQuery ลบอักขระ '-' ออกจากสตริง


93

ฉันมีสตริง "-123445" เป็นไปได้ไหมที่จะลบอักขระ "-" ออกจากสตริง

ฉันได้ลองทำสิ่งต่อไปนี้แล้ว แต่ไม่มีประโยชน์:

$mylabel.text("-123456");
$mylabel.text().replace('-', '');

คำตอบ:


169
$mylabel.text( $mylabel.text().replace('-', '') );

เนื่องจากtext()ได้รับค่าและtext( "someValue" )กำหนดค่าคุณเพียงแค่วางค่าหนึ่งไว้ในอีกด้านหนึ่ง

จะเทียบเท่ากับการทำ:

var newValue = $mylabel.text().replace('-', '');
$mylabel.text( newValue );

แก้ไข:

ฉันหวังว่าฉันจะเข้าใจคำถามอย่างถูกต้อง ฉันสมมติว่า$mylabelกำลังอ้างอิงองค์ประกอบ DOM ในวัตถุ jQuery และสตริงอยู่ในเนื้อหาขององค์ประกอบ

หากสตริงอยู่ในตัวแปรอื่นที่ไม่ใช่ส่วนหนึ่งของ DOM คุณอาจต้องการเรียกใช้.replace()ฟังก์ชันเทียบกับตัวแปรนั้นก่อนที่จะแทรกลงใน DOM

แบบนี้:

var someVariable = "-123456";
$mylabel.text( someVariable.replace('-', '') );

หรือเวอร์ชัน verbose เพิ่มเติม:

var someVariable = "-123456";
someVariable = someVariable.replace('-', '');
$mylabel.text( someVariable );

yip $ mylabel กำลังอ้างถึงองค์ประกอบ DOM ฉันได้ลองสิ่งนี้แล้วและทำงานได้อย่างสมบูรณ์ ขอบคุณสำหรับความช่วยเหลือของคุณ.
Riain McAtamney

9
ในกรณีที่คุณต้องการลบสตริงที่เกิดขึ้นทั้งหมดแทนที่จะเป็นสตริงแรกคุณสามารถใช้: $ mylabel.text (). replace (/ - / g, '');
leticia


8
$mylabel.text("-123456");
var string = $mylabel.text().replace('-', '');

ถ้าคุณทำแบบนั้นในstringตอนนี้ตัวแปรจะถือ"123456"

คุณสามารถ (ฉันเดาวิธีที่ดีกว่า) ทำสิ่งนี้ ...

$mylabel.text("-123456");
$mylabel.text(function(i,v){
   return v.replace('-','');
});
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.