मैं '9.61' को '9:61' में बदलने के लिए जावास्क्रिप्ट में स्ट्रिंग कैसे करूँ?


275

कोड लाइन दिया

var value = $("#text").val();

और value = 9.61, मुझे बदलने की जरूरत 9.61है 9:61। मैं यहाँ जावास्क्रिप्ट बदलें फ़ंक्शन का उपयोग कैसे कर सकता हूं?


29
ध्यान दें कि इसका jQuery से कोई लेना-देना नहीं है, लेकिन सिर्फ सादे पुराने जावास्क्रिप्ट के साथ।
इक्के

1
मुझे एक ऐसी ही समस्या है। मेरे पास जावास्क्रिप्ट में एक 'var' वैरिएबल है और मैं इसमें स्ट्रिंग / वर्णों को बदलना चाहता हूं। मैंने इस कोड की कोशिश की: var myObject = "मेरा% गतिशील% मान \ n"; myObject = myObject.replace ( "%", "") की जगह। ( "\ n" ""); इसके अलावा myObject = myObject.replace ('%', '') की कोशिश की। ('\ n', '') को बदलें; यह मुझे त्रुटि देता है कि प्रतिस्थापित एक ज्ञात कार्य नहीं है
बालाजी बिराजदार

उपरोक्त समस्या के लिए सटीक त्रुटि संदेश है "Microsoft JScript रनटाइम त्रुटि: ऑब्जेक्ट संपत्ति या विधि का समर्थन नहीं करता है" बदलें "
बालाजी बिराजदार

जवाबों:


539

इसको ऐसे करो:

var value = $("#text").val(); // value = 9.61 use $("#text").text() if you are not on select box...
value = value.replace(".", ":"); // value = 9:61
// can then use it as
$("#anothertext").val(value);

JQuery के वर्तमान संस्करण को प्रतिबिंबित करने के लिए अद्यतन किया गया। और यहाँ भी बहुत सारे उत्तर हैं जो किसी भी स्थिति के लिए सबसे उपयुक्त होंगे। आपको एक डेवलपर के रूप में यह जानना होगा कि कौन सा है।

सभी घटनाओं को बदलें

एक समय में कई पात्रों को बदलने के लिए इस तरह की कुछ बात का उपयोग करें: name.replace(/&/g, "-")। यहां मैं सभी &वर्णों की जगह ले रहा हूं -gका अर्थ है "वैश्विक"

नोट - त्रुटि से बचने के लिए आपको वर्ग कोष्ठक जोड़ने की आवश्यकता हो सकती है -title.replace(/[+]/g, " ")

इसका श्रेय विसू और दांते कलारी को जाता है


6
मैंने कोशिश की थी कि लेकिन value.replace के रूप में एक त्रुटि उत्पन्न हुई, यह एक फंक्शन नहीं है :(
निसंथ कुमार

thephpdeveloper ने इसे सही करने के लिए कुछ जोड़ा ... जो इसे करना चाहिए ... ऊपर संपादित देखें
Reigel

7
यदि हम एक बार में एक से अधिक मानों को बदलने का प्रयास करते हैं तो यह काम नहीं करेगा। :(
विस्सु

56
एक समय में कई पात्रों को बदलने के लिए इस तरह की कुछ बात का उपयोग करें: name.replace(/&/g, "-")। यहाँ मैं सभी 'और' वर्णों को '-' के साथ बदल रहा हूँ। "जी" का अर्थ है "वैश्विक"।
विस्सु

9
नोट - एक त्रुटि से बचने के लिए आपको वर्ग कोष्ठक जोड़ने की आवश्यकता हो सकती है -title.replace(/[+]/g, " ")
Dante Cullari

67

संभवतः ऐसा करने का सबसे सुरुचिपूर्ण तरीका एक चरण में करना है। देख लो val()

$("#text").val(function(i, val) {
  return val.replace('.', ':');
});

की तुलना में:

var val = $("#text").val();
$("#text").val(val.replace('.', ':'));

डॉक्स से:

.val( function(index, value) )

फ़ंक्शन (इंडेक्स, मूल्य) एक फ़ंक्शन सेट करने के लिए मान लौटाता है।

इस पद्धति का उपयोग आमतौर पर प्रपत्र फ़ील्ड के मान सेट करने के लिए किया जाता है। के लिए <select multiple="multiple"> तत्वों, कई रों एक सरणी में पास करके चुना जा सकता है।

.val()विधि हमें एक समारोह में पारित करके मान सेट करने की अनुमति देता है। JQuery 1.4 के रूप में, फ़ंक्शन को दो तर्क दिए गए हैं, वर्तमान तत्व का सूचकांक और इसका वर्तमान मूल्य:

$('input:text.items').val(function(index, value) {
  return value + ' ' + this.className;
});

यह उदाहरण स्ट्रिंग "आइटम" को पाठ इनपुट के मानों में जोड़ता है।

इसके लिए jQuery 1.4+ की आवश्यकता है।


लेकिन जैसा कि मैंने देखा है कि आदमी सिर्फ var valueऔर सिर्फ टेक्स्ट बॉक्स में वैल्यू नहीं बदलना चाहता है, जैसा आपने सुझाव दिया ...
Reigel

41

मुझे jQuery का तरीका पसंद है। बस करो ...

    var value = $("#text").val().replace('.',':');

    //Or if you want to return the value:
    return $("#text").val().replace('.',':');

17
यह वास्तव में जंकरी चेनिंग से कोई लेना-देना नहीं है। आपके द्वारा कॉल .val()करने के बाद यह एक नियमित स्ट्रिंग है।
झटके

19

एक साधारण एक लाइनर:

$("#text").val( $("#text").val().replace(".", ":") );

1
यह केवल तभी काम करेगा जब मूल्य एक स्ट्रिंग है ... और यह भी, $("#text")दो बार कॉल करना एक अच्छा अभ्यास नहीं है ...
Reigel

ओपी ने यह भी निर्दिष्ट नहीं किया कि वह $("#text"):)
Reigel

टिप्पणी १ ... गलत। टिप्पणी 2 ... उसके प्रश्न के तर्क के बारे में सोचें, निर्दिष्ट करने की आवश्यकता नहीं है।
विड्वेज़ेज़

इसे साबित करें और याद रखें, दिनांकितJan 27 '10 at 10:16
Reigel

आप अच्छे अभ्यास को भी नहीं जानते हैं .. आप इसे पढ़ना चाहते हैं .. stackoverflow.com/questions/3230727/…
Reigel

6

यह नियमित जावास्क्रिप्ट फ़ंक्शन के साथ किया जा सकता है replace()

value.replace(".", ":");

3
मुझे यकीन है कि अगर मुझे कुछ याद नहीं है, लेकिन जब से मूल्य पाठ बॉक्स से आता है यह एक स्ट्रिंग नहीं है? उदाहरण jsfiddle.net/xMBuA
एंडर्स

4

आप जावास्क्रिप्ट कार्यों को प्रतिस्थापित की तरह उपयोग कर सकते हैं, और आप ब्रैकेट में jQuery कोड को लपेट सकते हैं:

var value = ($("#text").val()).replace(".", ":");


1
(9.61 + "").replace('.',':')

या अगर आपका 9.61पहले से ही एक स्ट्रिंग है:

"9.61".replace('.',':')
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.