পাঠ্য অঞ্চলের এইচটিএমএল ট্যাগের লাইনে কীভাবে পড়বেন


93

আমার একটি পাঠ্য অঞ্চল রয়েছে যেখানে প্রতিটি লাইনে নীচের মতো পূর্ণসংখ্যার মান থাকে

      1234
      4321
     123445

আমি ব্যবহারকারীদের সত্যিকারের বৈধ মানগুলি আছে কিনা তা অনুসরণ করতে চাই এবং নীচের মতো কিছু মজার মান নেই

      1234,
      987l;

তার জন্য আমাকে পাঠ্য অঞ্চলের লাইনে লাইনে পড়তে হবে এবং এটি যাচাই করতে হবে। আমি কীভাবে জাভাস্ক্রিপ্ট ব্যবহার করে কোনও পাঠ্য ক্ষেত্রের রেখা দ্বারা লাইন পড়তে পারি?


4
আমি ১০০% নিশ্চিত নই (তাই মন্তব্যটি) তবে এতে প্রতিটি "" n "এ পাঠ্য বিভাজন জড়িত থাকতে পারে
Pluckerpluck

উত্তর:


182

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

var lines = $('textarea').val().split('\n');
for(var i = 0;i < lines.length;i++){
    //code here using lines[i] which will give you each line
}

14
পরিবর্তে ব্যবহার এটি $('textarea').val()ব্যবহার document.getElementById('textareaId').innerHTMLকরে।
শঙ্করসঙ্গোলি

4
আমার মনে আছে আমরা ব্যবহার করার জন্য আরও একটি পদ্ধতি ছিল। আমরা form.elementname বা অন্য কিছু ব্যবহার করেছি used মানে অনেক দিন আগের কথা। 6-7 বছর আগে যখন
ডিওএম

হ্যাঁ আপনি এমনকি ডকুমেন্ট.ফর্মনেম.টেক্সটনারনেম.ভ্যালু ব্যবহার করে এটি অ্যাক্সেস করতে পারবেন
শঙ্করসঙ্গোলি

4
লাইনগুলি কি \ n এ শেষ হওয়ার গ্যারান্টিযুক্ত এবং \ r \ n নয়?
ওজতাকো - মনিকা সি পুনরায় ইনস্টল করুন

যারা এখানে ২০২০ এ আছেন, আমি উপরের মন্তব্যগুলি যুক্ত করার পরে ব্রাউজারের আচরণ কী ছিল তা নিশ্চিত করে বলতে পারি না তবে বর্তমানে ক্রোম ডকুমেন্টকে স্বীকৃতি দেয় না getগলমেন্টবাইআইডি ('টেক্সারিয়া') inner ডিওএম এর মূল লোডে। ব্যবহারকারীর প্রবেশ বা সংশোধিত যে কোনও পাঠ্যকে অ্যাক্সেস করতে আপনার ডকুমেন্ট.জেট এলিমেন্টবাইআইডি ('টেক্সারিয়া') ব্যবহার করতে হবে। পৃষ্ঠার লোডে, স্থানধারক পাঠ্য <textarea> </textarea> ট্যাগের মধ্যে অভ্যন্তর HTML হিসাবে রাখা হয়, তবে কোনও ব্যবহারকারী ইনপুট যুক্ত করলে এটি পরিবর্তিত হয় না।
এরিক বার্কার

37

এটি jQuery প্রয়োজন ছাড়াই কাজ করে:

var textArea = document.getElementById("my-text-area");
var arrayOfLines = textArea.value.split("\n"); // arrayOfLines is array where every element is string of one line

5

এটি কি আপনি সকল বৈধ সাংখ্যিক মান দিতে হবে lines। আপনি লুপটি বৈধতাতে পরিবর্তন করতে পারেন, অবৈধ অক্ষর ইত্যাদি ফেলাতে পারেন - আপনি যেটি চান।

var lines = [];
$('#my_textarea_selector').val().split("\n").each(function ()
{
    if (parseInt($(this) != 'NaN')
        lines[] = parseInt($(this));
}

4
একটি সাধারণ নোট হিসাবে, আপনি প্রায় সর্বদা দ্বিতীয় আর্গুমেন্টটিকে পার্সইন্টে পাস করতে চান বেস 10 / দশমিক ( parseInt(this, 10)) হিসাবে পাঠ্যকে বাধ্য করতে । অন্যথায়, নেতৃস্থানীয় শূন্যগুলি বেস 8 হিসাবে (অষ্টাল) হিসাবে ব্যাখ্যার দিকে পরিচালিত করে, যা কিছু বরং অস্বাভাবিক আচরণের কারণ হতে পারে ...
IMSoP

5

দুটি বিকল্প: কোনও জিকুয়ের প্রয়োজন নেই, বা জিকুয়ের সংস্করণ

কোন জিকুয়েরি (বা অন্য কিছু প্রয়োজন নেই)

var textArea = document.getElementById('myTextAreaId');
var lines = textArea.value.split('\n');    // lines is an array of strings

// Loop through all lines
for (var j = 0; j < lines.length; j++) {
  console.log('Line ' + j + ' is ' + lines[j])
}

JQuery সংস্করণ

var lines = $('#myTextAreaId').val().split('\n');   // lines is an array of strings

// Loop through all lines
for (var j = 0; j < lines.length; j++) {
  console.log('Line ' + j + ' is ' + lines[j])
}

সাইড নোট, আপনি যদি পছন্দ করেন তবে প্রতিটি নমুনা লুপ হয়

lines.forEach(function(line) {
  console.log('Line is ' + line)
})

4

আপনার টেক্সেরিয়া যাচাই করার জন্য একটি সাধারণ রেজেক্স কার্যকর হতে হবে:

/\s*\d+\s*\n/g.test(text) ? "OK" : "KO"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.