آموزش طراحی سایت

این وبلاگ ، شامل آموزش کامل جاوا اسکریپت می باشد که توسط گروه غرب نت تهیه شده است.

آموزش طراحی سایت

این وبلاگ ، شامل آموزش کامل جاوا اسکریپت می باشد که توسط گروه غرب نت تهیه شده است.

شی RegExp در جاوا اسکریپت

شی ( RegExp ) در جاوا اسکریپت :

یکی از مهمترین نیازها و کارهایی که ممکن است در یک صفحه وب بخواهید انجام دهید ، جستجو برای کلمات یا عبارت خاص در متن صفحه است . فرض کنید که در یک صفحه وب می خواهید به دنبال واژه CSS بپردازید و ببینید آیا این کلمه در صفحه وجود دارد یا خیر .
شی RegExp به طراح امکان ایجاد کدها و ساختارهایی را برای جستجو دنبال کلمات و عبارات در صفحات وب را می دهد .
RegExp
مخفف عبارت Regular Expression است . RegExp شی است که یک الگو از کاراکترها را تعیین می کند . یک الگو ساده می تواند فقط یک کاراکتر باشد و الگوهای پیچیده تر ، شامل تعداد بیشتری کاراکتر هستند .
نتیجه گیری : شی RegExp برای انجام عملیات جستجو برای کلمات و یا کاراکترهای مورد نظر در متن یک صفحه استفاده می شود .
شکل کلی تعریف و استفاده از یک شی RegExp در جاوا اسکریپت به صورت زیر است :

Syntax

var patt = new RegExp ( pattern , modifiers ) ;
یا به صورت ساده شده :
var patt = /pattern/modifiers ;

اما کد بالا چه مفهومی داشته و طرز استفاده از آن به چه صورت است ؟
برای توضیح آن ، هر یک از کلمات موجود در کد را توضیح داده ام .

syntax توضیح هر یک از موارد

توضیح

کلمه

یک نام دلخواه است که برای شی خودمان از نوع RegExp تعیین کرده ایم . مثل یه نام برای هر نوع متغیر دیگر .

patt

نام متد یا تابعی است که یک نمونه جدید از شی RegExp را ایجاد می نماید .

new RegExp

pattern الگو کاراکترها ، یا همان عبارتی است که در متن می خواهیم به دنبال آن بگردیم . این الگو می توانید شامل یک کاراکتر بوده و یا یک کلمه و عبارت باشد .

pattern

modifiers یک کاراکتر است که تعیین می کند عملیات جستجو به چه صورت انجام شود . مثلا چنانچه در این قسمت کاراکتر i را قرار دهیم ، عملیات جستجو به صورت case sensetive ( حساس به حروف بزرگ و کوچک ) انجام می شود .

modifiers

جند مثال برای آشنایی با کارکرد RegExp :

در این بخش سعی می کنیم با اراثه چند مثال کاربردی و کدهای آنها ، نحوه کار و استفاداه ار این شی را به شما آموزش دهیم .

مثال 1 : جستجو برای یک عبارت یک کلمه خاص در یک متن .
در مثال اول یک متغیر متنی به نام Str1 تعریف کرده ایم که شامل یک متن است . به وسیله ساخت و به کار گیری یک شی RegExp در درون این متغیر به دنبال واژه Gharbnet پرداخته ایم . کد مثال به دنبال این کلمه در متغیر Str1 پرداخته و سپس آن را در خروجی نمایش داده است :

< script type="text/javascript" >
  var Str1 = "Welcome to Gharbnet1.ir";
  var patt1 = /Gharbnet/i;
  document.write(Str1.match(patt1));
< /script >

کد

مثال 2 : جستجو برای یک عبارت یک کلمه خاص در یک متن و یافتن موارد تکراری.
در مثال دوم یک متن طولانی تر را در متغیر خودمان قرار داده ایم . در این عبارت ، به دنباب کلمه is پرداخته ایم. این کلمه در متن چند بار تکرار شده است . بنابراین با به کار بردن یک Modifire از نوع g در شی RegExp ، باعث شده ایم تا شی نمونه های تکراری را یافته و همه آنها را نمایش دهد :
نکته مهم : توجه داشته باشید به دلیل اینکه از Modifire نوع i در این مثال استفاده نکرده ایم ، مورد اول تکرار Is ، به حساب نیامده و در خروجی نمایش داده نشده است . در مثال سوم Modifire نوع i را نیز به کار برده ایم . خروجی ها را با هم مقایسه نمایید .

< script type="text/javascript" >
  var Str2 = "Is more than one is in this ?";
  var patt2 = /is/g;
  document.write(Str2.match(patt2));
< /script >

کد

 

مثال شماره 3 : استفاده همزمان از دو Modifire نوع i , g

< script type="text/javascript" >
  var Str3 = "Is more than one is in this ?";
  var patt3 = /is/gi;
  document.write(Str3.match(patt3));
< /script >

کد