আমি কীভাবে জাভাস্ক্রিপ্টে স্ট্রিংটি '9.61' কে '9:61' এ রূপান্তর করতে পারি?


275

কোড লাইন দেওয়া

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

এবং value = 9.61, আমার রূপান্তর 9.61করা দরকার 9:61। আমি এখানে জাভাস্ক্রিপ্ট প্রতিস্থাপন ফাংশনটি কীভাবে ব্যবহার করতে পারি?


29
নোট করুন যে jQuery এর সাথে কিছুই করার নেই, তবে কেবল সাধারণ পুরানো জাভাস্ক্রিপ্টের সাথে।
ইক্কে

1
আমি একই সমস্যা আছে। জাভাস্ক্রিপ্টে আমার একটি 'ভেরিয়েবল' রয়েছে এবং আমি এতে স্ট্রিং / চরিত্রগুলি প্রতিস্থাপন করতে চাই। আমি এই কোডটি চেষ্টা করেছি: var myObject = "আমার% গতিশীল% মান \ n"; myObject = myObject.replace ( "%", "") প্রতিস্থাপন করুন। ( "\ N", ""); মাইওবজেক্ট = আমারঅবজেক্ট.রেপ্লেস ('%', '') ব্যবহার করে দেখুন। প্রতিস্থাপন করুন ('\ n', ''); এটি আমাকে ত্রুটি দেয় যে প্রতিস্থাপনটি একটি পরিচিত ফাংশন নয়
বালাজি বিরাজদার

উপরের ইস্যুটির সঠিক ত্রুটি বার্তাটি হ'ল "মাইক্রোসফ্ট জেএসক্রিপ্ট রানটাইম ত্রুটি: অবজেক্ট সম্পত্তি বা পদ্ধতি 'প্রতিস্থাপন' সমর্থন করে না
বালাজী বিরাজদার

উত্তর:


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
আমি চেষ্টা করেছিলাম কিন্তু মান হিসাবে একটি ত্রুটি ঘটেছে place স্থানটি কোনও ফাংশন নয় :(
নিসন্ত কুমার

থিপ্পিডোপলভার এটি সঠিক করার জন্য কিছু যুক্ত করেছে ... এটি করা উচিত ... উপরে সম্পাদিত দেখুন
রিগেল

7
আমরা যদি একবারে একাধিক মান প্রতিস্থাপন করার চেষ্টা করি তবে এটি কাজ করবে না। :(
ভিসু

56
একটি সময়ে একাধিক অক্ষর প্রতিস্থাপন করতে ভালো কিছু জিনিস ব্যবহার করুন: name.replace(/&/g, "-")। এখানে আমি সমস্ত 'এবং' অক্ষরকে '-' দিয়ে প্রতিস্থাপন করছি। "জি" এর অর্থ "গ্লোবাল"।
ভিসু

9
দ্রষ্টব্য - কোনও ত্রুটি এড়াতে আপনার বর্গাকার বন্ধনী যুক্ত করতে হতে পারে -title.replace(/[+]/g, " ")
দান্তে কালারি

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আপনি যেমনটি বলেছিলেন তেমন পাঠ্য বাক্সে না মানটি পরিবর্তন করতে চায় ...
রিগেল

41

আমি jQuery এর পদ্ধতি চেইন পছন্দ। সহজভাবে ...

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

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

17
এটি আসলে jquery চেইন সঙ্গে কোন সম্পর্ক নেই। আপনি .val()এটি নিয়মিত স্ট্রিং বলার পরে ।
zerkms

19

একটি সাধারণ একটি লাইনার:

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

1
এটি কেবল তখনই কাজ করবে যদি মানটি স্ট্রিং হয় ... এবং $("#text")দু'বার কল করা ভাল অনুশীলন না হয় ...
রিগেল


মন্তব্য 1 ... ভুল মন্তব্য 2 ... তার প্রশ্নের যুক্তি সম্পর্কে চিন্তা করুন, নির্দিষ্ট করার প্রয়োজন নেই।
VIDesignz

এটি প্রমাণ করুন .. এবং তারিখটি মনে রাখবেনJan 27 '10 at 10:16
রিগেল

আপনি এমনকি ভাল অভ্যাস জানি না .. এই .. পড়তে চাইবেন 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('.',':')
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.