• جاوا اسکریپت: روش های دستکاری رشته. متدهای جاوا اسکریپت برای کار با رشته های جی کوئری زیر رشته را از رشته دریافت می کنند

    وقتی می نویسی جاوا اسکریپت، اغلب شما باید در اینترنت گشت و گذار کنید و به دنبال اطلاعاتی در مورد نحو و پارامترهای متدهایی باشید که با رشته ها کار می کنند.

    من مقالات زیادی در مورد کار با رشته ها خوانده ام. در این پست نمونه ها و توضیحات مختصری از متداول ترین روش ها برای کار با رشته ها نمایش داده می شود. من سعی کردم متداول ترین روش ها را برای مرجع سریع در بالا قرار دهم.

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

    تبدیل به رشته

    می توانید یک عدد، عبارت بولی یا شی را به یک رشته تبدیل کنید:

    var myNumber = 24; // 24 var myString = myNumber.toString(); // "24"

    می توانید با همین روش انجام دهید رشته ():

    var myNumber = 24; // 24 var myString = String(myNumber); // "24"

    اگر مطمئن نیستید که مقدار آن نیست خالییا تعریف نشده، شما می توانید استفاده کنید رشته ()، که همیشه یک رشته را بدون توجه به نوع مقدار برمی گرداند.

    تقسیم یک رشته به زیر رشته ها

    برای تقسیم رشته ها به آرایه ای از رشته های فرعی، می توانید از روش استفاده کنید شکاف():

    Var myString = "در حال، جدا، در، کاما"; var substringArray = myString.split(""); // ["coming"، "Apart"، "at"، "the"، "Commas"] var arrayLimited = myString.split(")، 3); // ["آمدن"، "جدا"، "در"]

    همانطور که در خط آخر مشاهده می کنید، دومین پارامتر تابع، محدودیت تعداد عناصری است که در آرایه نهایی قرار خواهند گرفت.

    به دست آوردن طول یک رشته

    برای یافتن تعداد کاراکترهای یک رشته، از ویژگی استفاده می کنیم طول:

    Var myString = "شما" کاملا یک شخصیت هستید."؛ var stringLength = myString.length؛ // 25

    پیدا کردن یک رشته فرعی در یک رشته

    دو روش برای جستجوی زیر رشته وجود دارد:

    استفاده indexOf():

    Var stringOne = "جانی والدو هریسون والدو"; var WheresWaldo = stringOne.indexOf("Waldo"); // 7

    indexOf()متد از ابتدای رشته شروع به جستجوی یک زیر رشته می کند و موقعیت آغاز اولین وقوع رشته فرعی را برمی گرداند. در این مورد، شماره 7 است.

    استفاده lastIndexOf():

    Var stringOne = "جانی والدو هریسون والدو"; var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

    متد موقعیت شروع آخرین رخداد رشته فرعی در رشته را برمی گرداند.

    هر دو روش در صورت یافت نشدن رشته فرعی -1 را برمی‌گردانند و هر دو آرگومان دوم اختیاری را می‌گیرند که موقعیتی را در رشته‌ای که می‌خواهید شروع به جستجو کنید نشان می‌دهد. بنابراین، اگر آرگومان دوم "5" باشد، indexOf()شروع به جستجو در کاراکتر 5 می کند، در حالی که کاراکترهای 0-4 را نادیده می گیرد lastIndexOf()شروع به جستجو در کاراکتر 5 می کند و به عقب می رود و کاراکترهای 6 و بالاتر را نادیده می گیرد.

    جایگزینی رشته فرعی

    برای جایگزینی وقوع یک رشته فرعی در یک رشته با رشته فرعی دیگر، می توانید استفاده کنید جایگزین کردن():

    Var slugger = "جاش همیلتون"; var betterSlugger = slugger.replace("h Hamilton", "e Bautista"); console.log(betterSlugger); // "خوزه باتیستا"

    آرگومان اول چیزی است که می خواهید جایگزین کنید و آرگومان دوم یک رشته جدید است. تابع تنها اولین رخداد یک زیررشته در یک رشته را جایگزین می کند.

    برای جایگزینی همه رخدادها، باید از یک عبارت منظم با یک پرچم سراسری استفاده کنید:

    Var myString = "او پوسته های خودرو را در ساحل خودرو می فروشد"; var newString = myString.replace(/automotive/g, "sea"); ورود به سیستم کنسول (newString); // "او صدف های دریایی را در ساحل می فروشد"

    آرگومان دوم می تواند شامل یک الگو یا تابع خاص باشد. جزئیات بیشتر قابل مطالعه است.

    یک کاراکتر در یک موقعیت معین در یک رشته دریافت کنید

    با استفاده از تابع می توانیم کاراکتر را بدست آوریم charAt():

    Var myString = "Birds of a Feather"; var whatsAtSeven = myString.charAt(7); // "f"

    همانطور که اغلب در جاوا اسکریپت اتفاق می افتد، اولین موقعیت در یک رشته از 0 شروع می شود نه 1.

    به عنوان یک تابع جایگزین، می توانید استفاده کنید charCodeAt()تابع، که کد کاراکتر است.

    Var myString = "Birds of a Feather"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

    توجه داشته باشید که کد کاراکتر "F" (موقعیت 11) با کد کاراکتر "f" (موقعیت 7) متفاوت است.

    به هم پیوستن رشته ها

    در بیشتر موارد، می توانید از عملگر "+" برای اتصال رشته ها استفاده کنید. اما شما همچنین می توانید از روش استفاده کنید concate():

    Var stringOne = "Knibb High Football"; var stringTwo = stringOne.concat("قوانین."); // "قوانین فوتبال Knibb High"

    به این ترتیب، می‌توانیم بسیاری از خطوط را به ترتیبی که نوشته شده‌اند، به یکی بپیوندیم:

    VarstringOne = "Knibb"; var stringTwo = "بالا"; var stringThree = "فوتبال"; var stringFour = "قوانین."; var finalString = stringOne.concat(stringTwo, stringThree, stringFour); console.log(finalString); // "قوانین بالای فوتبال Knibb."

    استخراج یک زیر رشته

    3 راه برای دریافت یک رشته از بخشی از رشته دیگر وجود دارد:

    استفاده كردن تکه():

    Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "فغیج"

    استفاده كردن زیر رشته ():

    Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring(5, 10); // "فغیج"

    در هر دو تابع، پارامتر اول کاراکتری است که رشته فرعی از آن شروع می شود (شروع از موقعیت 0) و آرگومان دوم (اختیاری) موقعیت کاراکتری است که رشته فرعی به آن برگردانده می شود. مثال (5، 10) رشته بین موقعیت 5 و 9 را برمی گرداند.

    استفاده كردن substr():

    Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr(5, 10); // "فغیجکلمنو"

    آرگومان اول موقعیت کاراکتری است که خط جدید از آن شروع می شود و آرگومان دوم تعداد کاراکترهای موقعیت شروع خط جدید است. آن ها (5، 10) 10 کاراکتر را از موقعیت 5 شروع می کند.

    یک رشته را به حروف بزرگ یا کوچک تبدیل کنید.

    4 روش برای ترجمه وجود دارد. 2 مورد اول رشته را به حروف بزرگ تبدیل می کند:

    Var stringOne = "صحبت کن، من نمی توانم تو را بشنوم."; var stringTwo = stringOne.toLocaleUpperCase(); // "SPEAK UP، I CAN"THEAR YOU" var stringThree = stringOne.toUpperCase(); // "صحبت کن، من نمی توانم تو را بشنوم"

    2 مورد دیگر رشته را به حروف کوچک تبدیل می کنند:

    Var stringOne = "تو نباید فریاد بزنی"؛ var stringTwo = stringOne.toLocaleLowerCase(); // "شما مجبور نیستید فریاد بزنید" var stringThree = stringOne.toLowerCase(); // "لازم نیست فریاد بزنی"

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

    تطبیق الگو

    تطبیق الگو در یک رشته را می توان با 2 روش استفاده کرد که به روش های مختلف کار می کنند.

    روش همخوانی داشتن()به یک رشته اعمال می شود و یک عبارت منظم را به عنوان پارامتر می گیرد:

    Var myString = "چقدر چوب می تواند یک چوب چاک کند"; var myPattern = /.ood/; var myResult = myString.match(myPattern); // ["چوب"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // "چقدر چوب می تواند یک چوب چاک کند"

    روش exec()به یک شیء عبارت منظم اعمال می شود و یک رشته را به عنوان پارامتر می گیرد:

    Var myString = "چقدر چوب می تواند یک چوب چاک کند"; var myPattern = /.huck/; var myResult = myPattern.exec(myString); // ["چاک"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "چقدر چوب می تواند یک چوب چاک کند"

    هر دو روش فقط بازی اول را برمی گرداند. اگر هیچ مسابقه ای وجود نداشت، برمی گردد خالی.

    شما همچنین می توانید از روش استفاده کنید جستجو کردن()، که یک عبارت منظم می گیرد و موقعیت اولین تطابق الگو را برمی گرداند:

    Var myString = "فرض"; var patternLocation = myString.search(/ume/); // 3

    اگر هیچ مسابقه ای وجود نداشت، برمی گردد. -1 «.

    مقایسه دو رشته برای مرتب سازی

    می توانید 2 رشته را با هم مقایسه کنید تا مشخص کنید کدام یک بر اساس حروف الفبا اول است. برای این کار از روش استفاده می کنیم localeCompare()، که 3 مقدار ممکن را برمی گرداند:

    Var myString = "مرغ"; var myStringTwo = "تخم مرغ"; var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (Chrome -2 را برمی گرداند) whichCameFirst = myString.localeCompare("chicken"); // 0 whichCameFirst = myString.localeCompare("apple"); // 1 (Chrome 2 را برمی گرداند)

    همانطور که در بالا نشان داده شد، اگر آرگومان رشته بعد از رشته اصلی بیاید، یک عدد منفی برگردانده می شود. یک عدد مثبت اگر آرگومان رشته قبل از رشته اصلی بیاید. اگر برگردانده شود 0 یعنی رشته ها برابرند

    برای بررسی مقدار برگشتی، بهتر است از if (نتیجه< 0), чем if (result === -1). Последнее не будет работать в Chrome.

    از توجه شما متشکرم، امیدوارم چیزهای جدید و جالب زیادی یاد گرفته باشید!

    نویسنده مقاله: الکس. دسته بندی:
    تاریخ انتشار: 1392/03/19

    وقتی در جاوا اسکریپت می نویسم، اغلب مجبورم به موتورهای جستجو مراجعه کنم تا نحو روش ها (و ترتیب، تعریف آرگومان ها) کار با رشته ها را روشن کنم.

    در این مقاله سعی خواهم کرد تا در مورد رایج ترین روش های جاوا اسکریپت مربوط به رشته ها مثال ها و توضیحاتی ارائه کنم. محبوب ترین روش ها برای راحتی در بالای مقاله قرار دارند.

    تبدیل به رشته

    می توانید یک عدد، بولی یا شی را به رشته تبدیل کنید.

    var myNumber = 24; // 24 var myString = myNumber.toString(); // "24"

    همچنین می توانید این کار را با تابع string() انجام دهید.

    var myNumber = 24; // 24 var myString = String(myNumber); // "24"

    Nicholas Zakas می گوید: "اگر در مورد مقدار (تهی یا تعریف نشده) مطمئن نیستید، از تابع String() استفاده کنید، زیرا بدون توجه به نوع متغیر، یک رشته را برمی گرداند."

    تعریف نشدهبه این معنی که هیچ مقداری به متغیر اختصاص داده نشده است، a خالی، - که مقدار null به آن اختصاص داده شده است (می توان گفت null به عنوان یک شی خالی تعریف می شود).

    تقسیم یک رشته به زیر رشته ها

    برای تقسیم یک رشته به آرایه ای از زیر رشته ها، می توانید از متد split() استفاده کنید:

    Var myString = "در حال، جدا، در، کاما"; var substringArray = myString.split(""); // ["coming"، "Apart"، "at"، "the"، "Commas"] var arrayLimited = myString.split(")، 3); // ["آمدن"، "جدا"، "در"]

    همانطور که خط آخر نشان می دهد، مقدار آرگومان اختیاری دوم تعداد عناصر آرایه برگشتی را تعیین می کند.

    طول رشته را دریافت کنید

    با ویژگی length می توانید تعداد کاراکترهای یونیکد را در یک رشته پیدا کنید:

    Var myString = "شما" کاملا یک شخصیت هستید."؛ var stringLength = myString.length؛ // 25

    یک رشته فرعی را در یک رشته تعریف کنید

    دو راه برای انجام این کار وجود دارد:

    از indexOf() استفاده کنید:

    Var stringOne = "جانی والدو هریسون والدو"; var WheresWaldo = stringOne.indexOf("Waldo"); // 7

    متد indexOf() یک زیررشته (اولین آرگومان ارسال شده) را در یک رشته (از ابتدای رشته) جستجو می کند و موقعیت اولین کاراکتر را که در آن وقوع رشته فرعی در رشته شروع شده است، برمی گرداند.

    از lastIndexOf() استفاده کنید:

    Var stringOne = "جانی والدو هریسون والدو"; var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

    متد lastIndexOf() دقیقاً همین کار را انجام می دهد، با این تفاوت که به دنبال آخرین زیر رشته در رشته می گردد.

    اگر رشته فرعی پیدا نشد، هر دو روش -1 را برمی‌گردانند. آرگومان اختیاری دوم موقعیتی را در رشته ای که می خواهید جستجو را شروع کنید مشخص می کند. بنابراین، اگر آرگومان دوم متد indexOf() 5 باشد، جستجو از کاراکتر پنجم شروع می شود و 0-4 کاراکتر نادیده گرفته می شود. برای lastIndexOf() ، همچنین اگر آرگومان دوم 5 باشد، جستجو به عقب شروع می شود و کاراکترهای 6 و بالاتر نادیده گرفته می شوند.

    نحوه تعویض بخشی از یک رشته

    برای جایگزینی بخشی (یا حتی تمام) یک رشته، از متد ()replace استفاده کنید.

    Var slugger = "جاش همیلتون"; var betterSlugger = slugger.replace("h Hamilton", "e Bautista"); console.log(betterSlugger); // "خوزه باتیستا"

    آرگومان اول شامل بخشی از رشته فرعی است که باید جایگزین شود. آرگومان دوم رشته ای است که جای رشته فرعی را می گیرد که باید جایگزین شود. فقط اولین نمونه از زیر رشته جایگزین خواهد شد.

    برای جایگزینی تمام رخدادهای یک رشته فرعی، از یک عبارت منظم با پرچم "g" استفاده کنید.

    Var myString = "او پوسته های خودرو را در ساحل خودرو می فروشد"; var newString = myString.replace(/automotive/g, "sea"); ورود به سیستم کنسول (newString); // "او صدف های دریایی را در ساحل می فروشد"

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

    یک شخصیت را در یک موقعیت مشخص پیدا کنید

    برای اینکه بفهمید کدام کاراکتر در یک موقعیت معین قرار دارد، می توانید از متد charAt() استفاده کنید:

    Var myString = "Birds of a Feather"; var whatsAtSeven = myString.charAt(7); // "f"

    همانطور که اغلب در جاوا اسکریپت اتفاق می افتد، موقعیت اول از 0 محاسبه می شود، نه 1.

    به عنوان جایگزین، می توانید از متد charCodeAt () استفاده کنید، اما به جای خود کاراکتر، کد آن را دریافت خواهید کرد.

    Var myString = "Birds of a Feather"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

    توجه داشته باشید که کد یک حرف بزرگ (موقعیت 11) با کد همان حرف اما در حروف کوچک (موقعیت 7) متفاوت است.

    الحاق رشته ها در جاوا اسکریپت

    در بیشتر موارد، از عملگر (+) برای به هم پیوستن رشته ها استفاده خواهید کرد. اما می توانید رشته ها را با استفاده از متد ()concat به هم متصل کنید.

    Var stringOne = "Knibb High Football"; var stringTwo = stringOne.concat("قوانین."); // "قوانین فوتبال Knibb High"

    رشته های متعددی را می توان به concat() ارسال کرد و به ترتیبی که به متد concat() اضافه شده اند در رشته حاصل ظاهر می شوند.

    VarstringOne = "Knibb"; var stringTwo = "بالا"; var stringThree = "فوتبال"; var stringFour = "قوانین."; var finalString = stringOne.concat(stringTwo, stringThree, stringFour); console.log(finalString); // "قوانین بالای فوتبال Knibb."

    بخشی از یک رشته (استخراج رشته فرعی در جاوا اسکریپت)

    سه روش مختلف برای ایجاد یک رشته جدید با "کشیدن" بخشی از یک رشته فرعی از یک رشته موجود وجود دارد.

    استفاده از slice():

    Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "فغیج"

    استفاده از ()substring:

    Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring(5, 10); // "فغیج"

    برای هر دو متد (slice() و substring())، آرگومان اول موقعیت کاراکتری است که رشته فرعی در آن شروع می شود (شمارش از 0)، آرگومان دوم موقعیت کاراکتری است که رشته فرعی در آن به پایان می رسد، با کاراکتر تعیین شده در آرگومان دوم در زیر رشته برگشتی گنجانده نشده است.

    استفاده از substr():

    Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr(5, 10); // "فغیجکلمنو"

    برای متد substr، آرگومان اول همچنین موقعیت کاراکتری را که رشته فرعی از آن شروع می‌شود، مشخص می‌کند. آرگومان دوم اختیاری است. اما در همان زمان، آرگومان دوم تعداد کاراکترهایی را که باید در رشته فرعی گنجانده شود، از موقعیتی که قبلاً در آرگومان اول تعریف کردیم، مشخص می کند. این تکنیک در مثال بالا به خوبی نشان داده شده است.

    تبدیل رشته به حروف کوچک یا بزرگ در جاوا اسکریپت

    چهار روش برای ایجاد تحولات لازم وجود دارد. دو برای تبدیل کاراکترهای رشته به حروف بزرگ.

    Var stringOne = "صحبت کن، من نمی توانم تو را بشنوم."; var stringTwo = stringOne.toLocaleUpperCase(); // "SPEAK UP، I CAN"THEAR YOU" var stringThree = stringOne.toUpperCase(); // "صحبت کن، من نمی توانم تو را بشنوم"

    و دو تا برای تبدیل رشته به حروف کوچک:

    Var stringOne = "تو نباید فریاد بزنی"؛ var stringTwo = stringOne.toLocaleLowerCase(); // "شما مجبور نیستید فریاد بزنید" var stringThree = stringOne.toLowerCase(); // "لازم نیست فریاد بزنی"

    به طور کلی، تفاوتی بین روش محلی و روش غیرمکانی وجود ندارد، اما «برای برخی از زبان‌ها مانند ترکی که حروف آن از حالت سیستم یونیکد پیروی نمی‌کند، عواقب استفاده از روش غیرمحلی است. ممکن است متفاوت باشد." بنابراین، قانون زیر را دنبال کنید: "اگر زبانی که کد با آن کار می کند را نمی دانید، استفاده از روش های محلی امن تر است."

    تطبیق الگو در جاوا اسکریپت

    با استفاده از 2 روش می توانید وجود یک الگو را در یک رشته بررسی کنید.

    متد match() روی شی رشته فراخوانی می شود و یک عبارت منظم به عنوان آرگومان به متد match() ارسال می شود.

    Var myString = "چقدر چوب می تواند یک چوب چاک کند"; var myPattern = /.ood/; var myResult = myString.match(myPattern); // ["چوب"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // "چقدر چوب می تواند یک چوب چاک کند"

    و متد exec() روی شی RegExp فراخوانی می شود، رشته به عنوان آرگومان ارسال می شود:

    Var myString = "چقدر چوب می تواند یک چوب چاک کند"; var myPattern = /.huck/; var myResult = myPattern.exec(myString); // ["چاک"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "چقدر چوب می تواند یک چوب چاک کند"

    هر دو روش اولین رخداد منطبق را برمی گرداند. اگر مطابقت پیدا نشد، NULL برگردانده می شود. اگر عبارت منظم دارای پرچم "g" باشد، در نتیجه آرایه ای حاوی همه موارد منطبق برگردانده می شود.

    همچنین می‌توانید از متد search() استفاده کنید که یک عبارت منظم را به عنوان آرگومان می‌گیرد و موقعیت شروع اولین الگوی منطبق را برمی‌گرداند.

    Var myString = "فرض"; var patternLocation = myString.search(/ume/); // 3

    اگر مطابقت پیدا نشد، متد -1 را برمی‌گرداند.

    مقایسه دو رشته برای مرتب سازی بعدی

    برای مقایسه دو رشته بر اساس ترتیب مرتب سازی محلی، می توانید از روش localeCompare استفاده کنید. متد localeCompare سه مقدار ممکن را برمی گرداند.

    MyString = "مرغ"; var myStringTwo = "تخم مرغ"; var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (به جز کروم که -2 را برمی گرداند) whichCameFirst = myString.localeCompare("chicken"); // 0 whichCameFirst = myString.localeCompare("apple"); // 1 (Chrome 2 را برمی گرداند)

    همانطور که در بالا نشان داده شد، اگر رشته اصلی قبل از آرگومان رشته مرتب شود، یک مقدار منفی برگردانده می شود، اگر آرگومان رشته بعد از رشته اصلی مرتب شود، +1 برگردانده می شود. اگر null برگردانده شود، دو رشته معادل هستند.

    متد include() تعیین می‌کند که آیا می‌توان یک رشته را در یک رشته دیگر پیدا کرد، و در صورت لزوم مقدار true یا false را برمی‌گرداند.

    نحو: -string.includes(searchString[,position])

    searchString: - رشته ای برای جستجو در این رشته.

    موقعیت: -اختیاری موقعیت در این رشته برای جستجوی searchString. پیش فرض 0.

    string = "LOL"; console.log(string.includes("lol")); // false console.log را برمی گرداند(string.includes("LOL")); // true را برمی گرداند

    من یک سبد خرید دارم که گزینه‌های محصول را در منوی کشویی نمایش می‌دهد و اگر "بله" را انتخاب کنند، می‌خواهم برخی از قسمت‌های دیگر را در صفحه نمایان کنم.

    مشکل اینجاست که سبد خرید یک اصلاح کننده قیمت نیز در متن دارد که می تواند برای هر محصول متفاوت باشد. کد زیر کار می کند:

    $(document).ready(function() ($("انتخاب").change(function() ( var str = $("انتخاب گزینه:selected").text(); if (str == "بله (+ $6.95)") ($(". حکاکی").show(); ) else ($(". حکاکی").hide(); )));

    با این حال، من ترجیح می دهم از چیزی شبیه به این استفاده کنم که کار نمی کند:

    $(document).ready(function() ($("انتخاب").change(function() ( var str = $("انتخاب گزینه:selected").text(); if (str *= "بله") ($(.graving").show(); ) else ($(."graving").hide(); ) )); ));

    من فقط می خواهم یک عمل را انجام دهم که گزینه انتخاب شده حاوی کلمه "بله" باشد و اصلاح کننده قیمت را نادیده بگیرد.