jQuery এর সাহায্যে পাঠ্য ধরার সময় আমি কীভাবে সাদা স্থান ছিনিয়ে নেব?


183

আমি একটি মেইলটো মোড়ানোর জন্য jQuery ব্যবহার করতে চাই: একটি ইমেল ঠিকানার চারপাশে অ্যাঙ্কর, তবে এটি সিএমএস উত্সাহিত হোয়াইটপেসটিও দখল করছে।

এখানে আমার এইচটিএমএল নিয়ে কাজ করতে হবে, আমার কাছে যেমন স্ক্রিপ্ট রয়েছে এবং আউটপুটটির একটি অনুলিপি।

এইচটিএমএল

<div class="field field-type-text field-field-email">
  <div class="field-item">
    name@example.com    </div>
</div>

jQuery জাভাস্ক্রিপ্ট

$(document).ready(function(){
  $('div.field-field-email .field-item').each(function(){
    var emailAdd = $(this).text();
      $(this).wrapInner('<a href="mailto:' + emailAdd + '"></a>');
   });
 });

উত্পাদিত এইচটিএমএল

<div class="field field-type-text field-field-email">
  <div class="field-items"><a href="mailto:%0A%20%20%20%20name@example.com%20%20%20%20">
    name@example.com    </a></div>
</div>

যদিও আমি সন্দেহ করি যে অন্যরা এই প্রশ্নটি পড়ছেন তারা কেবল শীর্ষস্থানীয় এবং টেইলিং হোয়াইটস্পেসটি সরিয়ে ফেলতে চাইতে পারেন, আমি যে ইমেল ঠিকানাটি আবৃত করছি তা বিবেচনা করে আমি সমস্ত সাদা স্থান হারাতে পেরে বেশ আনন্দিত।


সম্ভাব্য অনুরূপ: stackoverflow.com/questions/10800355/...
অজানা দেব

উত্তর:


333

replaceজেএসে ফাংশনটি ব্যবহার করুন :

var emailAdd = $(this).text().replace(/ /g,'');

এটি সমস্ত স্থান সরিয়ে ফেলবে

আপনি যদি কেবল শীর্ষস্থানীয় এবং অনুসরণযোগ্য শ্বেতস্পেস সরাতে চান তবে jQuery $ .Trim পদ্ধতিটি ব্যবহার করুন:

var emailAdd = $.trim($(this).text());

11
সঠিক তবে / \ গুলি / জি একটি পরিষ্কার প্যাটার্ন হবে ("আমি" অপ্রয়োজনীয় এবং '' একটি অস্বাভাবিক রূপ - এছাড়াও / (^ \ s *) | (\ s * $) / জি এর একটি প্যাটার্ন ট্রিমের সমতুল্য
অন্নাকাটা

1
আপনি সঠিক অন্নাকাটা, আমি / আমি অপসারণ করেছি কারণ এটি অপ্রয়োজনীয় যেহেতু এই ক্ষেত্রে মামলার সংবেদনশীলতা কোনও সমস্যা নয়
আন্দ্রে গ্রাচ

6
সতর্কতা অবলম্বন করার একটি বিষয় হ'ল আইই ভাঙ্গাবিহীন স্থানগুলিকে (& nbsp ;, & # 160 ;, & # xA0 ;, \ xA0, \ u00A0, ইত্যাদি ...) সাদা-স্থান হিসাবে বিবেচনা করে না, সুতরাং / [ white s \ xA0] + / g সমস্ত সাদা-স্থান প্রতিস্থাপনের জন্য আরও নির্ভরযোগ্য হতে পারে।
ট্র্যাভিস

100

জাভাস্ক্রিপ্ট ট্রিম মধ্যে নির্মিত হয়েছে:

str.trim()

এটি আই 8 তে কাজ করে না। আপনার যদি পুরানো ব্রাউজারগুলিকে সমর্থন করতে হয় তবে টুকসামেন্ট বা পলের উত্তরটি ব্যবহার করুন।


69

আসলে, jQuery একটি ট্রিম ফাংশন অন্তর্নির্মিত আছে:

 var emailAdd = jQuery.trim($(this).text());

বিশদ জন্য এখানে দেখুন ।


3
কারণ বৈশিষ্ট্যটিতে নির্মিত
প্রতিটিটির

24

str=str.replace(/^\s+|\s+$/g,'');


1
এটি পিএইচপি ট্রিম ফাংশনের মতো শীর্ষস্থানীয় এবং পিছনের সাদা স্থানটিকে সরিয়ে দেয়।
পল

1
আপনি নিজেকে ব্যাখ্যা করতে পারেন?
ফ্রান্সিসকো

1
@ ফ্রেঞ্চিসকো কররেলেস মোরেলস: আমার মনে হয় আপনার এখানে একটি পছন্দ আছে: নিয়মিত প্রকাশের বিষয়ে শিখুন বা করবেন না। যদি আপনি তা করেন তবে প্রকাশটি স্ব-স্পষ্ট হয়ে উঠবে এবং আপনি যদি তা না করেন তবে এটি ব্যাখ্যা করা শক্ত হবে তাই এটি বোঝা সহজ। সুতরাং: নিয়মিত অভিব্যক্তি সম্পর্কে জানুন। সেগুলি শেখার চেষ্টা করার পরেও যদি আপনি বুঝতে না পারেন তবে আপনি কী বুঝতে পারছেন না সে সম্পর্কে একটি নির্দিষ্ট প্রশ্ন জিজ্ঞাসা করুন।
পিটার ভি।

5
এই / ^ \ s + | \ s + $ / g এর মতো দেখতে পাওয়া যেকোন কিছুকে কীভাবে "নিয়মিত" বলা যেতে পারে?
RyanNerd

এগুলিকে নিয়মিত এক্সপ্রেশন বলা হয় কারণ তারা নিয়মিত ভাষা, সীমাবদ্ধ-রাষ্ট্রীয় মেশিন ব্যবহার করে যে ভাষাগুলি বিশ্লেষণ করতে পারে তা বর্ণনা করতে পারে। নিয়মিত প্রকাশগুলি, তাদের শুদ্ধতম আকারে, একটি সীমাবদ্ধ-রাষ্ট্রীয় মেশিনকে বর্ণনা করার উপায়। কম্পিউটারটি বুঝতে পারে এমনভাবে আপনার কোডে একটি অটোমেটনের ডায়াগ্রামকে অন্তর্ভুক্ত করা কতটা কঠিন তা বিবেচনা করে, নিয়মিত প্রকাশগুলি খুব ভয়ঙ্কর হয় এমনকি যদি তাদের তীক্ষ্ণতা তাদের পক্ষে মানুষের পক্ষে পার্স করা বেশ কঠিন করে তোলে।
কোয়ান্টাম ওমেগা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.