পাঠ্য অক্ষরে অক্ষর গণনা করুন


120

আমি একটি টেক্সেরিয়ায় অক্ষর গণনা করতে চাই, তাই আমি সবেমাত্র তৈরি করেছি:

<textarea id="field" onkeyup="countChar(this)"></textarea>

function countChar(val){
     var len = val.value.length;
     if (len >= 500) {
              val.value = val.value.substring(0, 500);
     } else {
              $('#charNum').text(500 - len);
     }
};

আমার কোডের টুকরোতে কী সমস্যা? এটা কাজ করে না! ঠিক আছে, এটি একটি নবাগত হস্তাক্ষর ছিল, একটি সহায়তা দরকার।


ভবিষ্যতে, অনুগ্রহ করে আপনার প্রশ্নটি সম্পাদনা করুন বা অতিরিক্ত তথ্য বা স্পষ্টতা যোগ করতে উত্তর বৈশিষ্ট্যের সাথে মন্তব্য বৈশিষ্ট্যটি ব্যবহার করুন। উত্তরগুলি এমন পোস্ট হতে হবে যা সরাসরি আপনার সমস্যার সমাধান করে। আপনি যদি নিজের সমস্যার সমাধান পোস্ট করেন তবে সঠিক সমাধান হিসাবে আপনার সমাধানটি গ্রহণ করুন। আপনি অন্য 'গ্রহণ' হিসাবে আমি আপনার প্রচুর 'উত্তর' মুছে ফেলেছি।
টিম পোস্ট

উত্তর:


169

ব্রাউজারে আপনি কী ত্রুটিগুলি দেখছেন? আপনার পোস্টটি অসম্পূর্ণ থাকলে আপনার কোড কেন কাজ করে না তা আমি বুঝতে পারি, তবে জেনেও আমি নিশ্চিতভাবে জানতে পারি না।

<!DOCTYPE html>
<html>
  <head>
    <script src="http://code.jquery.com/jquery-1.5.js"></script>
    <script>
      function countChar(val) {
        var len = val.value.length;
        if (len >= 500) {
          val.value = val.value.substring(0, 500);
        } else {
          $('#charNum').text(500 - len);
        }
      };
    </script>
  </head>

  <body>
    <textarea id="field" onkeyup="countChar(this)"></textarea>
    <div id="charNum"></div>
  </body>

</html>

... আমার জন্য ভাল কাজ করে।

সম্পাদনা: আপনার সম্ভবত চারনম ডিভটি সাফ করা উচিত, বা যদি তারা সীমা ছাড়িয়ে যায় তবে কিছু লিখুন।


1
সত্যি? আইডি = 'চারনম' এর জন্য ডিভের পরিবর্তে আমার কাছে একটি স্প্যান রয়েছে, আমাকে আবার দেখতে দিন!
কাইল

আপনার সম্পূর্ণ কোডটি দেখার পরে, আপনি এটি অন্যভাবে করার কী প্রত্যাশা করেছিলেন? এটি সম্পর্কে "ভাঙ্গা" কী?
কেটারহাম

আপনি "অন্য" মুছে ফেলতে পারেন, কেবলমাত্র 500 টি হিট করার অর্থ এই নয় যে আমাদের #CharNum এর মান প্রদর্শন করতে বাধা দেওয়া উচিত নয়, "অন্য" এটি এখনকার হিসাবে 0 টি পরিবর্তে 1 এ থামিয়ে দেবে।
জোয়াকিম

@ জোয়াকিম, আমি অন্যটি সরিয়ে ফেলেছি তবে এই ক্ষেত্রে আমি নেতিবাচক সংখ্যা পেয়ে যাব!
কাইল

"আপনি সীমাতে পৌঁছে গেছেন", বা এর মতো কিছু বলার জন্য চারনম সেট করে, কেবলমাত্র কিছুটিতে যুক্ত করুন।
কেটারহাম

83

ক্যাটারহ্যামের ফাংশনের ভিত্তিতে উন্নত সংস্করণ :

$('#field').keyup(function () {
  var max = 500;
  var len = $(this).val().length;
  if (len >= max) {
    $('#charNum').text(' you have reached the limit');
  } else {
    var char = max - len;
    $('#charNum').text(char + ' characters left');
  }
});

1
এটি ব্যবহার করবেন না। এটিয়েন মার্টিনের নির্দেশ অনুসারে এই সমাধানটি ত্রুটিযুক্ত।
ফ্যাবিয়ান বিগলার

78

Solution গৃহীত সমাধানটি ত্রুটিযুক্ত।

এখানে দুটি পরিস্থিতি যেখানে keyupইভেন্টটি চালিত হবে না:

  1. ব্যবহারকারী টেক্সটরিয়ায় টেক্সট টেনে আনেন।
  2. রাইট ক্লিকের (প্রসঙ্গত মেনু) দিয়ে টেক্সারিয়ায় ব্যবহারকারী অনুলিপি-পাঠান।

inputআরও শক্ত সমাধানের পরিবর্তে এইচটিএমএল 5 ইভেন্টটি ব্যবহার করুন :

<textarea maxlength='140'></textarea>

জাভাস্ক্রিপ্ট ( ডেমো ):

const textarea = document.querySelector("textarea");

textarea.addEventListener("input", event => {
    const target = event.currentTarget;
    const maxLength = target.getAttribute("maxlength");
    const currentLength = target.value.length;

    if (currentLength >= maxLength) {
        return console.log("You have reached the maximum number of characters.");
    }

    console.log(`${maxLength - currentLength} chars left`);
});

এবং আপনি যদি পুরোপুরি jQuery ব্যবহার করতে চান:

$('textarea').on("input", function(){
    var maxlength = $(this).attr("maxlength");
    var currentLength = $(this).val().length;

    if( currentLength >= maxlength ){
        console.log("You have reached the maximum number of characters.");
    }else{
        console.log(maxlength - currentLength + " chars left");
    }
});

4
inputঅনুষ্ঠানের কথা জানতাম না । ধন্যবাদ
Abk

একটি তাত্ক্ষণিক প্রশ্ন (এখনও আপনার কোড / পদ্ধতি চেষ্টা করে দেখেনি) এই ভয়েস ইনপুটটির জন্য কাজ করবে?
সায়ফার

1
নিঃসন্দেহে সিফার
এতিয়েন মার্টিন

আমি এই চেষ্টা হবে। কাজের জায়গায় একটি ছোট প্রকল্পের জন্য আমার এর মতো কিছু দরকার ছিল।
সিফার করুন

উপরের কোডটি আইওএসে কাজ করতে পারেনি যখন ভয়েস জেএস এবং জিক্যুরি উভয়ই ব্যবহৃত হয়। কোন চিন্তা?
সিফার করুন

9

এইচটিএমএল নমুনা, যেখানেই আমার কাউন্টারের প্রয়োজন হবে সেখানে টেক্সারিয়া এবং দ্বিতীয় স্প্যানের আইডিগুলির প্রাসঙ্গিকতাটি লক্ষ্য করুন: id="post"<-> id="rem_post"এবং স্প্যানের শিরোনাম যা প্রতিটি নির্দিষ্ট পাঠ্যগুলির পছন্দসই অক্ষরের পরিমাণকে ধারণ করে

<textarea class="countit" name="post" id="post"></textarea>
<p>
  <span>characters remaining: <span id="rem_post" title="1000"></span></span>
</p>

জাভাস্ক্রিপ্ট ফাংশন, সাধারণত </body>আমার টেম্পলেট ফাইলের আগে রাখা , jQuery প্রয়োজন requires

$(".countit").keyup(function () {
  var cmax = $("#rem_" + $(this).attr("id")).attr("title");

  if ($(this).val().length >= cmax) {
    $(this).val($(this).val().substr(0, cmax));
  }

  $("#rem_" + $(this).attr("id")).text(cmax - $(this).val().length);

});

9

এটা আমার জন্য ভাল কাজ করে।

$('#customText').on('keyup', function(event) {
   var len = $(this).val().length;
   if (len >= 40) {
      $(this).val($(this).val().substring(0, len-1));
   }
});

7

substring()হয়ে ওঠা দরকার substr()

উদাহরণ: jsfiddle.net/xqyWV


@ ম্যাটকুর্টিস: আপনার জেসফিডাল-ডেমোটি বরং আরও লক্ষণীয় করে তুলতে মূল পোস্টে পোস্ট করা উচিত (আরও বেশি উত্স পেতে এবং) আমি আপনার পোস্টটি সম্পাদনা করার এবং লিঙ্কটি আটকে দেওয়ার চেষ্টা করেছি, তবে আমার সম্পাদনা প্রত্যাখ্যান করা হয়েছিল।
Sk8erPeter

আপনি দয়া করে পুরো নমুনা পোস্ট করতে পারেন .. আপনি ব্যবহার করেছেন এমন jquery সংস্করণ অন্তর্ভুক্ত। উপরের নমুনাটি অকেজো। দুঃখিত !.
ডিপসেল

@ B4NZ41 আমার জন্য ভাল কাজ করে। এর জন্য আরও উত্তর রয়েছে যা এটি আরও ভালভাবে সম্বোধন করে।
ম্যাটসভেন

4

ভাল, এটি যা বলা হয়েছে তার থেকে আলাদা নয়, তবে এটি সমস্ত ব্রাউজারে খুব ভাল কাজ করে।

ধারণাটি এমন কোনও পাঠ্য মুছে ফেলা হবে যা সংজ্ঞায়িত দৈর্ঘ্যের ওভারফ্লো করে।

function countTextAreaChar(txtarea, l){
    var len = $(txtarea).val().length;
    if (len > l) $(txtarea).val($(txtarea).val().slice(0, l));
    else $('#charNum').text(l - len);
    }

এইচটিএমএল কোডটি হ'ল:

<div id="charNum"></div>
<textarea onkeyup="countTextAreaChar(this, 10)" class="textareaclass" id="smallword" rows="40" cols="30" name="smallword"></textarea>

4

এইচটিএমএল

<form method="post">
<textarea name="postes" id="textAreaPost" placeholder="Write what's you new" maxlength="500"></textarea>

<div id="char_namb" style="padding: 4px; float: right; font-size: 20px; font-family: Cocon; text-align: center;">500 : 0</div>
</form>

jQuery এর

$(function(){
    $('#textAreaPost').keyup(function(){
      var charsno = $(this).val().length;
      $('#char_namb').html("500 : " + charsno);
    });
});

3

আমি উপরের সংমিশ্রণটি করেছি। এটি পাঠ্য এন্ট্রি থামিয়ে দেওয়ার অনুমতি দেয় এবং ব্যাকস্প্যাকিংয়ের অনুমতি দেয়, ব্যাকস্প্যাকিংয়ের পরেও গণনা রাখে:

জাভাস্ক্রিপ্ট কোড:

$(document).ready(function () {

  $('#giftmsg').keypress(function (event) {
    var max = 250;
    var len = $(this).val().length;

    if (event.which < 0x20) {
      // e.which < 0x20, then it's not a printable character
      // e.which === 0 - Not a character
      return; // Do nothing
    }

    if (len >= max) {
      event.preventDefault();
    }

  });

  $('#giftmsg').keyup(function (event) {
    var max = 250;
    var len = $(this).val().length;
    var char = max - len;

    $('#textleft').text(char + ' characters left');

  });

});

এইচটিএমএল:

<div class="col3">
    <h2>3. Optional gift message</h2>
    Enter gift message. Limit 250 characters.<br /><br />
    <textarea cols="36" rows="5" id="giftmsg" ></textarea>
    <a style="padding:7px 0 0 0" href="#">Save Message</a>
    <div id="textleft">250 characters left</div>
</div>

আমার আগে এই পোস্টারগুলিতে কৃতিত্ব !! আশা করি এটি কাউকে সাহায্য করবে!


3

আমি এই টাস্কটির জন্য আমার নিজস্ব jQuery প্লাগইন তৈরি করেছি, আপনি এটি এখানে চেষ্টা করে দেখতে পারেন:

http://jsfiddle.net/Sk8erPeter/8NF4r/

আপনি ফ্লাইয়ে অক্ষর কাউন্টার তৈরি করতে পারেন (এবং অবশিষ্ট অক্ষর কাউন্টারগুলিও), আপনি পাঠ্য কাটা করতে চান কিনা তা আপনি নির্ধারণ করতে পারেন, প্রত্যয় পাঠগুলি সংজ্ঞায়িত করতে পারেন এবং একটি সংক্ষিপ্ত বিন্যাস এবং এর বিভাজককেও সংজ্ঞায়িত করতে পারেন।

এখানে ব্যবহারের একটি উদাহরণ রয়েছে:

$(document).ready(function () {

    $('#first_textfield').characterCounter();

    $('#second_textfield').characterCounter({
        maximumCharacters: 20,
        chopText: true
    });

    $('#third_textfield').characterCounter({
        maximumCharacters: 20,
        shortFormat: true,
        shortFormatSeparator: " / ",
        positionBefore: true,
        chopText: true
    });

    $('#fourth_textfield').characterCounter({
        maximumCharacters: 20,
        characterCounterNeeded: true,
        charactersRemainingNeeded: true,
        chopText: false
    });

    $('#first_textarea').characterCounter({
        maximumCharacters: 50,
        characterCounterNeeded: true,
        charactersRemainingNeeded: false,
        chopText: true
    });

    $('#second_textarea').characterCounter({
        maximumCharacters: 25
    });

});

প্লাগইনের কোডটি এখানে:

/**
 * Character counter and limiter plugin for textfield and textarea form elements
 * @author Sk8erPeter
 */ 
(function ($) {
  $.fn.characterCounter = function (params) {
    // merge default and user parameters
    params = $.extend({
      // define maximum characters
      maximumCharacters: 1000,
      // create typed character counter DOM element on the fly
      characterCounterNeeded: true,
      // create remaining character counter DOM element on the fly
      charactersRemainingNeeded: true,
      // chop text to the maximum characters
      chopText: false,
      // place character counter before input or textarea element
      positionBefore: false,
      // class for limit excess
      limitExceededClass: "character-counter-limit-exceeded",
      // suffix text for typed characters
      charactersTypedSuffix: " characters typed",
      // suffix text for remaining characters
      charactersRemainingSuffixText: " characters left",
      // whether to use the short format (e.g. 123/1000)
      shortFormat: false,
      // separator for the short format
      shortFormatSeparator: "/"
    }, params);

    // traverse all nodes
    this.each(function () {
      var $this = $(this),
        $pluginElementsWrapper,
        $characterCounterSpan,
        $charactersRemainingSpan;

      // return if the given element is not a textfield or textarea
      if (!$this.is("input[type=text]") && !$this.is("textarea")) {
        return this;
      }

      // create main parent div
      if (params.characterCounterNeeded || params.charactersRemainingNeeded) {
        // create the character counter element wrapper
        $pluginElementsWrapper = $('<div>', {
          'class': 'character-counter-main-wrapper'
        });

        if (params.positionBefore) {
          $pluginElementsWrapper.insertBefore($this);
        } else {
          $pluginElementsWrapper.insertAfter($this);
        }
      }

      if (params.characterCounterNeeded) {
        $characterCounterSpan = $('<span>', {
          'class': 'counter character-counter',
          'text': 0
        });

        if (params.shortFormat) {
          $characterCounterSpan.appendTo($pluginElementsWrapper);

          var $shortFormatSeparatorSpan = $('<span>', {
            'html': params.shortFormatSeparator
          }).appendTo($pluginElementsWrapper);

        } else {
          // create the character counter element wrapper
          var $characterCounterWrapper = $('<div>', {
            'class': 'character-counter-wrapper',
            'html': params.charactersTypedSuffix
          });

          $characterCounterWrapper.prepend($characterCounterSpan);
          $characterCounterWrapper.appendTo($pluginElementsWrapper);
        }
      }

      if (params.charactersRemainingNeeded) {

        $charactersRemainingSpan = $('<span>', {
          'class': 'counter characters-remaining',
          'text': params.maximumCharacters
        });

        if (params.shortFormat) {
          $charactersRemainingSpan.appendTo($pluginElementsWrapper);
        } else {
          // create the character counter element wrapper
          var $charactersRemainingWrapper = $('<div>', {
            'class': 'characters-remaining-wrapper',
            'html': params.charactersRemainingSuffixText
          });
          $charactersRemainingWrapper.prepend($charactersRemainingSpan);
          $charactersRemainingWrapper.appendTo($pluginElementsWrapper);
        }
      }

      $this.keyup(function () {

        var typedText = $this.val();
        var textLength = typedText.length;
        var charactersRemaining = params.maximumCharacters - textLength;

        // chop the text to the desired length
        if (charactersRemaining < 0 && params.chopText) {
          $this.val(typedText.substr(0, params.maximumCharacters));
          charactersRemaining = 0;
          textLength = params.maximumCharacters;
        }

        if (params.characterCounterNeeded) {
          $characterCounterSpan.text(textLength);
        }

        if (params.charactersRemainingNeeded) {
          $charactersRemainingSpan.text(charactersRemaining);

          if (charactersRemaining <= 0) {
            if (!$charactersRemainingSpan.hasClass(params.limitExceededClass)) {
              $charactersRemainingSpan.addClass(params.limitExceededClass);
            }
          } else {
            $charactersRemainingSpan.removeClass(params.limitExceededClass);
          }
        }
      });

    });

    // allow jQuery chaining
    return this;

  };
})(jQuery);

ইতিমধ্যে উপাদানগুলিতে পাঠ্য থাকলে এটি প্রাথমিক লোডের উপরে কাউন্টারগুলি আপডেট করে না। যদিও একটি তুচ্ছ ফিক্স।
রাভেন্দার্কস্কি

2
$.fn.extend( {
       limiter: function(limit, elem) {
            $(this).on("keyup focus", function() {
               setCount(this, elem);
           });
            function setCount(src, elem) {
               var chars = src.value.length;
                if (chars > limit) {
                    src.value = src.value.substr(0, limit);
                    chars = limit;
                }
                elem.html( limit - chars );
            }
            setCount($(this)[0], elem);
        }
    });

    var elem = $("#cntr");  
    $("#status_txt").limiter(160, elem);

2

আমি ভাবছিলাম যে কীভাবে এটি একইভাবে করা যায় এবং এখানকার প্রত্যেকের কাছ থেকে ধারণা নিয়ে আসছি এটিই আমি এনেছি:

JsFiddle

<textarea name="message" rows="4" cols="24" maxlength="1000" id="message" placeholder="Message:" style=""></textarea><br/>
<span id="charNum"></span>

$('#message').keyup(function () {
  max = this.getAttribute("maxlength");
  var len = $(this).val().length;
   if (len >= max) {
    $('#charNum').text(' you have reached the limit');
   } else {
    var char = max - len;
    $('#charNum').text(char + ' characters left');
   }
});

1
$(document).ready(function() {
    var count = $("h1").text().length;
    alert(count);
});

এছাড়াও, আপনি "এইচ 1" এর পরিবর্তে আপনার নিজস্ব উপাদান আইডি বা ক্লাস রাখতে পারেন এবং দৈর্ঘ্যের ইভেন্টটি আপনার পাঠ্য অঞ্চল স্ট্রিংয়ের অক্ষর গণনা করতে পারে ☻


0

আপনার কোডটি কিছুটা মিশ্রিত হয়েছিল। এখানে একটি পরিষ্কার সংস্করণ:

<script type="text/javascript">
    $(document).ready(function() {
        $("#add").click(function() {
            $.post("SetAndGet.php", {
                know: $("#know").val()
            }, function(data) {
                $("#know_list").html(data);
            });
        });

        function countChar(val) {
            var len = val.value.length;
            if (len >= 500) {
                val.value = val.value.substring(0, 500);
            } else {
                $('#charNum').text(500 - len);
            }
        }
    });
</script>

চুপচাপ, বিশ্বাস করুন, এটি কাজ করে না, এটি মনে হয় যে ফাংশনটি শুরু হয় .. ফাংশন () {.. দিয়ে $ (ডকুমেন্ট) এর বাইরে হওয়া দরকার ready প্রস্তুতি (ফাংশন () {
কাইল

0

আর একবার চেষ্টা কর.

<textarea maxlength="410" name="about_me" onkeydown="CountLeft(this.form.about_me, this.form.left);" onkeyup="CountLeft(this.form.about_me,this.form.left); "></textarea>

<input maxlength="3" name="left" readonly="" size="3" type="text" value="410" /> characters left

<script>
function CountLeft(field, count) 
{
    var max = "410";
    if (field.value.length > max)
    {
        field.value = field.value.substring(0, max);
    }
    else
    {
        count.value = max - field.value.length;
    }
}
</script>

0

আরও জেনেরিক সংস্করণ যাতে আপনি একাধিক ক্ষেত্রের জন্য ফাংশনটি ব্যবহার করতে পারেন।

<script src="../site/jquery/jquery.min.js" ></script>
<script type="text/javascript">

function countChar(inobj, maxl, outobj) {
    var len = inobj.value.length;
    var msg = ' chr left';
    if (len >= maxl) {
        inobj.value = inobj.value.substring(0, maxl);
        $(outobj).text(0 + msg);
    } else {
        $(outobj).text(maxl - len + msg);
    }
}


$(document).ready(function(){

    //set up summary field character count
    countChar($('#summary').get(0),500, '#summarychrs'); //show inital value on page load
    $('#summary').keyup(function() {
        countChar(this, 500, '#summarychrs'); //set up on keyup event function
    });

});
</script>

<textarea name="summary" id="summary" cols="60" rows="3" ><?php echo $summary ?></textarea> 
<span id="summarychrs">0</span>

0
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

    <script>

            function countChar(val) 
            {

             var limit = 1024;

            if ( val.length > limit )
              { 
              $("#comment").val(val.substring(0, limit-1));
              val.length = limit;
              }

              $("#count").html((limit)-(val.length));     
              }

        </script>

        <textarea id="comment" onKeyUp="countChar(this.value)" required></textarea>

        <div id="count"></div>

অন্যটি ব্যবহার করে এড়িয়ে চলতে এবং নেতিবাচক গণনা এড়াতে নিম্নলিখিত ব্যবহার করুন।


0

এখানে আমার উদাহরণ। রাতের খাবার সহজ

$(document).ready(function() {
      
        var textarea    = $("#my_textarea");
  
        textarea.keydown(function(event) {
          
            var numbOfchars = textarea.val();
            var len = numbOfchars.length;
            $(".chars-counter").text(len);

        });
  
  
 }); 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="my_textarea" class="uk-textarea" rows="5" name="text"></textarea>
<h1 class="chars-counter">0</h1>


0

আমরা কোনও উদ্দেশ্যযুক্ত সমাধান নিয়ে খুশি ছিলাম না।

সুতরাং আমরা jquery- jedable শীর্ষে নির্মিত JQuery জন্য একটি সম্পূর্ণ চর কাউন্টার সমাধান তৈরি করেছি । এটি একটি textareaপ্লাগইন এক্সটেনশন যা উভয় উপায়ে গণনা করতে পারে, একটি কাস্টম বার্তা প্রদর্শন করে, চর গণনা সীমাবদ্ধ করে এবং jquery- ডেটাবেবল সমর্থন করে ।

আপনি এটি এখনই জেএসফিডেলে পরীক্ষা করতে পারেন ।

গিটহাব লিংক: https://github.com/HipotecLTD/realworld_jquery_jeditable_charcount

দ্রুত শুরু

আপনার এইচটিএমএলে এই লাইনগুলি যুক্ত করুন:

<script async src="https://cdn.jsdelivr.net/gh/HippotecLTD/realworld_jquery_jeditable_charcount@1.0.0/dist/jquery.jeditable.charcounter.realworld.min.js"></script>
<script async src="https://cdn.jsdelivr.net/gh/HippotecLTD/realworld_jquery_jeditable_charcount@1.0.0/dist/jquery.charcounter.realworld.min.js"></script>

এবং তারপর:

$("#myTextArea4").charCounter();

-1
$('#field').keyup(function () {
    var max = 160;
    var len = $(this).val().length;
//  var char = max - len;
    var messages = Math.ceil(len / 160);
    if (len >= max) {
        $('#charNum').text('(' + messages + ') ' + len + '/' + max);
    } else {
        $('#charNum').text(len + '/' + max);
    }
    });

-1

আপনি ব্যবহার করতে পারেন:

    $(document).ready(function () {
  $('#ID').keyup(function () {
   var val = $(this).val();
   len = val.length;
   if (len >= 140) {
    $(this).text(val.substring(0, 140));
   } else {
    console.log(140 - len);
    $('#charNum').empty().append(140 - len);
   }
  });
 });
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.