2010-10-29 12 views
20

में बदलें, मैं HTML फॉर्म में उपयोगकर्ता द्वारा दर्ज किए गए मान में पाए गए सभी बिंदुओं को प्रतिस्थापित करने का प्रयास कर रहा हूं। उदाहरण के लिए मुझे '8.30' प्रविष्टि को '8x30' में परिवर्तित करने की आवश्यकता है।सभी बिंदुओं को

मैं इस सरल कोड है:

var value = $(this).val().trim(); // get the value from the form 
value += ''; // force value to string 
value.replace('.', 'x'); 

लेकिन यह काम नहीं करता। फ़ायरबग में console.log कमांड का उपयोग करके, मैं देख सकता हूं कि प्रतिस्थापन आदेश बस नहीं होता है। '8.30' वही रहता है।

value.replace(/\./g, 'x'); 

क्या मैं गलत कर रहा हूँ यहाँ:

मैं भी कोई बेहतर परिणाम के साथ निम्नलिखित regexp की कोशिश की?

+0

value.replace (/\./ जी, 'एक्स'); सही है और यह मेरे लिए काम कर रहा है [मैंने फ़िरबग कंसोल में चेक किया है उदा। "2312.88.12.1232"। जगह (/\./ g, 'x'); –

+0

@Chinmayee: हाँ यह वास्तव में काम करता है। जैसा कि बार्ट कियर्स (नीचे) द्वारा इंगित किया गया है, मैं बस भूल गया था कि यह मेरे चर में मूल्य स्वचालित रूप से अपडेट नहीं करेगा। – s427

उत्तर

38

replace एक स्ट्रिंग देता है। प्रयास करें:

value = value.replace('.', 'x'); // 
            // or 
value = value.replace(/\./g, 'x'); // replaces all '.' 
+0

यह बहुत स्पष्ट था। ;) बहुत बहुत धन्यवाद। :) – s427

+0

@ s427, आपका स्वागत है! :) –

3

आप तीन समाधान है:

var text= "ABC.DEF.XYZ"; 
response = text.replace(/\./g,'x'); 


var text= "ABC.DEF.XYZ"; 
response = text.replace(new RegExp("\\.","gm"),"x"); 


var text= "ABC.DEF.XYZ"; 
response = text.split('.').join('x'); 

DEMO in JSFIDDLE

संबंधित मुद्दे