يبدأ سطر جافا سكريبت بـ. جافا سكريبت: العمل مع السلاسل والوظائف

هذه المقالة سوف تتحدث عن ما هو عليه سلاسل في جافا سكريبتوطرق العمل معهم.

السلاسل النصية هي ببساطة مجموعات من الأحرف، مثل "JavaScript" و"Hello World!" أو "http://www.quirksmode.org" أو حتى "14". لكي تبرمج بلغة JavaScript، عليك أن تعرف ما هي السلاسل النصية وكيفية التعامل معها، لأنك ستحتاج إلى استخدامها كثيرًا. العديد من الأشياء، مثل عناوين URL للصفحات، وقيم معلمات CSS، وعناصر إدخال النموذج، كلها سلاسل.

أولا سأحاول أن أشرح العمل مع السلاسلثم الفرق بين في JavaScript. حتى لو كان لديك خبرة في البرمجة بلغة أخرى، اقرأ هذا الجزء بعناية. وفي النهاية سأتحدث عن الأهم سلاسل في جافا سكريبت.

أساسيات السلسلة

دعونا نلقي نظرة على أساسيات العمل مع السلاسل في JavaScript.

باستخدام الاقتباسات

عندما تعلن سلاسل في جافا سكريبتأو العمل معهم، قم دائمًا بإحاطتهم بعلامات اقتباس مفردة أو مزدوجة. هذا يخبر المتصفح أنه يتعامل مع سلسلة. لا تخلط بين استخدام علامات الاقتباس في التعليمات البرمجية الخاصة بك؛ إذا بدأت سطرًا بعلامة اقتباس واحدة وانتهت بعلامة اقتباس مزدوجة، فلن تفهم JavaScript ما تقصده. عادة، أستخدم علامات الاقتباس المفردة عند العمل مع السلاسل، لأنني اخترت استخدام علامات الاقتباس المزدوجة لـ HTML وعلامات الاقتباس المفردة لـ JavaScript. بالطبع، يمكنك أن تفعل كل شيء بشكل مختلف، لكنني أنصحك بالتوصل إلى قاعدة مماثلة لنفسك.

لنتخيل سطرين سنستخدمهما خلال المقالة:

var a = "مرحبًا بالعالم!"; var b = "أنا طالب.";

لقد أعلنا الآن عن متغيرين، "a" و"b"، وقمنا بتخصيص قيم سلسلة لهما. بعد ذلك يمكننا العمل معهم، ولكن دعونا أولاً نحل مشكلة واحدة: لنفترض أنني كتبت:

var b = "أنا طالب.";

تحتوي السلسلة على علامة اقتباس مفردة إضافية، وتعتقد JavaScript أن السلسلة مكتملة وتعرض رسالة خطأ دون فهم ما سيأتي بعد ذلك. لذلك تحتاج اقتباس الهروب، مطالبة المتصفح بالتعامل معه كحرف وليس كنهاية سطر. يتم ذلك باستخدام شرطة مائلة عكسية قبل الاقتباس:

var b = "أنا طالب.";

لاحظ أنه يمكنك إدراج علامات الاقتباس المزدوجة في سلسلة دون الهروب منها. نظرًا لأنك تستخدم علامات الاقتباس المفردة لبدء السلسلة وإنهائها،

var b = "أنا "طالب".";

ينظر إليها دون مشاكل. يتم التعامل مع علامات الاقتباس المزدوجة تلقائيًا كجزء من سلسلة، وليس أمرًا.

وظائف مدمجة

بمجرد تحديد السلاسل، يمكنك البدء في استخدامها. على سبيل المثال، يمكنك سلسلة سلسلة واحدة إلى أخرى، أو خذ سلسلة فرعية من السلسلة "b" تتكون من الأحرف الثانية إلى الرابعة وأدخلها في منتصف السلسلة "a"، أو حدد الحرف الذي هو الثاني عشر في "a"، كم عدد الأحرف الموجودة في "b" "، سواء كانت تحتوي على حرف "q" وما إلى ذلك.

للقيام بذلك، يمكنك استخدام الوظائف المضمنة التي تحددها JavaScript مسبقًا لكل سطر. إحداهما، "الطول"، تُرجع طول السلسلة. بمعنى، إذا كنت تريد حساب طول "Hello World!"، فاكتب:

var c = "مرحبا بالعالم!". length;

في السابق، قمنا بتخصيص هذه السلسلة للمتغير "a". وبذلك تكون قد جعلت المتغير "a" سلسلة نصية، بحيث يمكن أيضًا تطبيق دالة "length" عليه، وستعطي العملية التالية نفس النتيجة:

فار ج = أ. الطول؛

تذكر أنه يمكنك استخدام "الطول" لأي سلسلة - فهي وظيفة مدمجة. أنت تستطيع حساب طول أي سلسلةعلى سبيل المثال: "location.href" أو "document.title" أو الذي تم الإعلان عنه بواسطتك.

سأقدم أدناه قائمة بالطرق والخصائص المضمنة الشائعة.

سلاسل وأرقام

تتطلب بعض لغات البرمجة منك تحديد ما إذا كان المتغير رقمًا أم سلسلة قبل القيام بأي شيء آخر به. جافا سكريبت أكثر وضوحًا فيما يتعلق بالفرق بين السلاسل والأرقام. في الواقع، يمكنك أيضًا إضافة أرقام باستخدام سلاسل:

فار ج = أ + 12؛

في بعض لغات البرمجة، ستؤدي معالجة مثل هذه السلسلة إلى حدوث خطأ. بعد كل شيء، "a" عبارة عن سلسلة، و"12" هو رقم. ومع ذلك، تحاول JavaScript حل المشكلة بافتراض أن "12" عبارة عن سلسلة نصية أيضًا. وهكذا يصبح "c" "Hello World!12". هذا يعني أنه إذا استخدمت "+" مع سلسلة ورقم، فستحاول JavaScript جعل الرقم سلسلة. إذا قمت بتطبيق عمليات رياضية على سلسلة ما، فستحاول JavaScript تحويلها إلى رقم. إذا لم يكن من الممكن تحويل سلسلة إلى رقم (على سبيل المثال، بسبب وجود أحرف فيها)، تقوم JavaScript بإرجاع NaN - "ليس رقمًا - ليس رقمًا."

أخيرًا، في JavaScript لا يوجد فرق بين الأعداد الصحيحة وأرقام الفاصلة العائمة.

رقم → سلسلة

ل رقم لتحويل السلسلةيدخل:

فار ج = (16 * 24) / 49 + 12؛ d = c.toString();

يمكنك بعد ذلك تطبيق كافة أساليب السلسلة على "d" و"c" الذي لا يزال يحتوي على رقم.

سلسلة → رقم

إذا كنت تريد تحويل سلسلة إلى رقم، تأكد أولاً من أنها تتكون من الأحرف من 0 إلى 9 فقط. للقيام بذلك، أقوم ببساطة بضرب السلسلة بـ 1.

فار ج = "1234"; د = ج * 1؛

بما أن الضرب يعمل فقط مع الأرقام، فإن JavaScript تحول السلسلة إلى رقم إن أمكن. وإلا فإن النتيجة هي NaN.

لاحظ أنه إذا كتبت:

فار ج = "1234"; د = ج + 0؛

ستكون النتيجة "12340" لأن JavaScript تستخدم "+" لتسلسل السلاسل بدلاً من إضافتها.

خصائص السلسلة والأساليب

إذن ماذا يمكننا أن نفعل بالسلاسل؟ يعد التسلسل حالة خاصة، ولكن يمكن استخدام جميع الأوامر (الطرق) الأخرى على أي سلسلة باستخدام البنية:

String_name.method();

قائمة طرق JavaScript المضمنة للعمل مع السلاسل

التسلسل - ربط السلاسل

أولاً، يمكنك ربط السلاسل عن طريق إضافتها معًا، كما يلي:

Document.write(a + b);

وستكون النتيجة: "أهلاً بالعالم! أنا طالب". " لكن بالطبع تريد أن يكون هناك مسافة بين الجمل. للقيام بذلك، قم بكتابة الكود كما يلي:

Document.write(a + " " + b);

لذلك سنقوم بتوصيل ثلاث سلاسل: "a"، """" (مسافة واحدة) و"b"، مما يؤدي إلى: "Hello World!" أنا طالب. »

يمكنك حتى استخدام الأرقام أو الحسابات، على سبيل المثال:

Document.write(a + 3 * 3 + b);

الآن نربط السلسلة "a" ثم نتيجة التعبير "3*3" التي تعتبر سلسلة، و"b" نحصل على: "Hello World!9 أنا طالب". »

عليك أن تكون حذرا عند استخدام الإضافة. فريق

Document.write(a + 3 + 3 + b);

يربط 4 سلاسل: "a" و"3" و"3" و"b"، لأن "+" في هذه الحالة تعني "ربط الخطوط" وليس "إضافة" وتكون النتيجة: "Hello World!33 أنا طالب. " إذا كنت تريد إضافة 3 و3 قبل إنشاء سلسلة، فاستخدم الأقواس.

Document.write(a + (3 + 3) + b);

يربط هذا التعبير السلسلة "أ"، نتيجة التعبير "3 + 3" و"ب"، فينتج: "مرحبًا بالعالم!6 أنا طالب. أنا طالب". "

دليل ل

إحدى الطرق المضمنة الأكثر استخدامًا هي "indexOf". كل حرف له فهرس خاص به يحتوي على رقم موضعه في السطر. لاحظ أن فهرس الحرف الأول هو 0، والثاني هو 1، وما إلى ذلك. وبالتالي، فإن فهرس الحرف "w" في السلسلة "a" هو 6.

باستخدام "indexOf" يمكننا إخراج فهرس الحرف. اكتب ".indexOf(" ")" بعد اسم السطر وأدخل الحرف الذي تبحث عنه بين علامتي الاقتباس. على سبيل المثال:

var a = "مرحبًا بالعالم!"; document.write(a.indexOf("w"));

سيعود 6 . في حالة تكرار الحرف عدة مرات، تقوم هذه الطريقة بإرجاع التواجد الأول. إنه

Document.write(a.indexOf("o"));

سيرجع 4 لأنه فهرس أول "o" في السلسلة.

يمكنك أيضًا البحث عن مجموعة من الرموز. (بالطبع، هذه أيضًا سلسلة، ولكن لتجنب الالتباس، لن أسميها كذلك). يقوم "indexOf" بإرجاع موضع الحرف الأول من المجموعة. على سبيل المثال:

Document.write(a.indexOf("o w"));

سيُرجع أيضًا 4 لأنه فهرس "o".

علاوة على ذلك، من الممكن البحث عن حرف بعد فهرس معين. إذا دخلت

Document.write(a.indexOf("o", 5));

ثم ستحصل على فهرس الحرف "o" الأول بعد الحرف ذو الفهرس 5 (هذه مسافة)، أي أن النتيجة ستكون 7 .

إذا لم يظهر الحرف أو المجموعة في السلسلة، فسيُرجع "indexOf" "-1". هذا هو الاستخدام الأكثر شيوعًا لـ "indexOf": التحقق من وجود مجموعة معينة من الأحرف. إنه جوهر البرنامج النصي الذي يحدد المتصفح. لتعريف IE عليك أن تأخذ السطر:

Navigator.userAgent;

وتحقق مما إذا كان يحتوي على "MSIE":

إذا (navigator.userAgent.indexOf("MSIE")!= -1) (//أي إجراءات باستخدام Internet Explorer)

إذا لم يكن فهرس "MSIE" هو "-1" (في حالة ظهور "MSIE" في أي مكان في السطر)، فإن المتصفح الحالي هو IE.

lastIndexOf

يوجد أيضًا أسلوب "lastIndexOf" الذي يُرجع آخر تواجد لحرف أو مجموعة. إنه يفعل عكس "indexOf". فريق

var b = "أنا طالب."; document.write(b.lastIndexOf("t"));

سيرجع 13 لأنه فهرس آخر حرف "t" في السلسلة.

شارات

تقوم طريقة "charAt" بإرجاع الحرف في الموضع المحدد. على سبيل المثال، عندما تدخل

var b = "أنا طالب."; document.write(b.charAt(5));

والنتيجة هي "a" لأنه الحرف في المركز السادس (تذكر أن فهرس الحرف الأول يبدأ عند 0).

طول

تقوم طريقة "الطول" بإرجاع طول السلسلة.

var b = "أنا طالب."; document.write(b. length);

سيعود "15". طول السلسلة أكبر بمقدار 1 من فهرس الحرف الأخير.

ينقسم

"التقسيم" هو أسلوب خاص يسمح لك بتقسيم سلسلة إلى أحرف محددة. يُستخدم عندما يلزم تخزين النتيجة في مصفوفة بدلاً من متغير بسيط. دعونا نقسم "ب" بمسافات:

var b = "أنا طالب." var temp = new Array(); درجة الحرارة = b.split(" ");

الآن يتم تقسيم السلسلة إلى 4 سلاسل فرعية، والتي يتم وضعها في المصفوفة "المؤقتة". لقد اختفت المساحات نفسها.

درجة الحرارة = "أنا"; درجة الحرارة = "صباحا"؛ درجة الحرارة = "أ"؛ درجة الحرارة = "الطالب"؛

يتم استخدام طريقة "السلسلة الفرعية" لطرح جزء من السلسلة. بناء جملة الطريقة: ".substring(first_index, last_index)". على سبيل المثال:

var a = "مرحبًا بالعالم!"; document.write(a.substring(4, 8));

سيعود "o wo" من الأول "o" (الفهرس 4) إلى الثاني (الفهرس 7). لاحظ أن "r" (الفهرس 8) ليس جزءًا من السلسلة الفرعية.

يمكنك أيضًا كتابة:

var a = "مرحبًا بالعالم!"; document.write(a.substring(4));

هذا سيعطي السلسلة الفرعية بأكملها "يا عالم! "، بدءًا من الحرف الذي يحتوي على الفهرس 4 وحتى نهاية السطر.

substr

هناك أيضًا طريقة "substr" تعمل بشكل مختلف قليلاً. ولا يستخدم رقم الفهرس كوسيطة ثانية، ولكن عدد الأحرف. إنه

Document.write(a.substr(4, 8));

تُرجع 8 أحرف، بدءًا من الحرف الموجود في الفهرس 4 ("o")، أي أن النتيجة هي: "o world! »

toLowerCase وtoUpperCase

أخيرًا، هناك طريقتان قد تكونان مفيدتين لك في بعض الأحيان: "toLowerCase" يحول السلسلة بأكملها إلى أحرف صغيرة، و"toUpperCase" يحولها إلى أحرف كبيرة.

var b = "أنا طالب."; document.write(b.toUpperCase());

ونتيجة لذلك، نحصل على "أنا طالب". "

وباعتبارها "أطر عمل" دلالية لاستخدام الوظائف والإنشاءات لمعالجة السلاسل، فهي ذات أهمية خاصة لبرمجة عمليات معالجة المعلومات وفقًا لمحتواها الدلالي. في JavaScript، يمكن دمج وظائف العمل مع السلاسل في بنياتها الدلالية الخاصة، مما يؤدي إلى تبسيط التعليمات البرمجية وإضفاء الطابع الرسمي على مجال موضوع المهمة.

في الإصدار الكلاسيكي، معالجة المعلومات هي في المقام الأول وظائف سلسلة. كل وظيفة وبنية للغة لها خصائصها الخاصة في بناء الجملة ودلالات JavaScript. طرق العمل مع السلاسل هنا لها أسلوبها الخاص، ولكن في الاستخدام الشائع فهي مجرد بناء جملة ضمن دلالات بسيطة: البحث، والاستبدال، والإدراج، والاستخراج، والدلالة، وتغيير حالة الأحرف...

وصف متغيرات السلسلة

للإعلان عن سلسلة، استخدم البناء فار.يمكنك تعيين قيمتها على الفور أو إنشائها أثناء تنفيذ الخوارزمية. يمكنك استخدام علامات الاقتباس المفردة أو المزدوجة لسلسلة. إذا كان يجب أن يحتوي على علامة اقتباس، فيجب تهريبه باستخدام الحرف "\".

يتطلب السطر المشار إليه الهروب من علامات الاقتباس المزدوجة الداخلية. وبالمثل، فإن العلامة المميزة بعلامات اقتباس مفردة تعد أمرًا بالغ الأهمية لوجود علامات الاقتباس المفردة بالداخل.

في هذا المثال، تسرد السلسلة "str_dbl" أحرفًا خاصة مفيدة يمكن استخدامها في السلسلة. في هذه الحالة، يتم هروب الحرف "\" نفسه.

السلسلة هي دائمًا مصفوفة

يمكن أن تعمل JavaScript مع السلاسل بعدة طرق. يوفر بناء جملة اللغة العديد من الخيارات. بادئ ذي بدء، لا ينبغي لأحد أن ينسى أبدًا (في سياق الأوصاف المقدمة):

  • str_isV => "V";
  • str_chr => """;
  • str_dbl => "أ".

أي أن الأحرف الموجودة في السلسلة متوفرة كعناصر صفيف، حيث يكون كل حرف خاص حرفًا واحدًا. الهروب هو عنصر من عناصر بناء الجملة. لا يتم وضع "شاشة" على السطر الفعلي.

استخدام الدالة charAt() له تأثير مماثل:

  • str_isV.charAt(3) => "V";
  • str_chr.charAt(1) => """;
  • str_dbl.charAt(5) => "أ".

يمكن للمبرمج استخدام أي خيار.

وظائف السلسلة الأساسية

في جافا سكريبت، يتم ذلك بشكل مختلف قليلاً عن اللغات الأخرى. اسم المتغير (أو السلسلة نفسها) متبوعًا باسم الدالة، مفصولاً بنقطة. عادة، تسمى وظائف السلسلة الأساليب في أسلوب بناء الجملة اللغوي، ولكن الكلمة الأولى هي أكثر دراية.

الطريقة الأكثر أهمية للسلسلة (أو بالأحرى الخاصية) هي طولها.

  • var xStr = str_isV.length + "/" + str_chr.length + "/" + str_dbl.length.

النتيجة: 11/12/175 حسب سطور الوصف أعلاه.

أهم زوج من وظائف السلسلة هو تقسيم السلسلة إلى مصفوفة من العناصر ودمج المصفوفة في سلسلة:

  • انقسام (ق [، ل])؛
  • الانضمام (الانضمامات).

في الحالة الأولى، يتم تقسيم السلسلة عند الحرف المحدد "s" إلى مصفوفة من العناصر لا يتجاوز عدد العناصر فيها القيمة "l". إذا لم يتم تحديد الكمية، فسيتم كسر السطر بأكمله.

في الحالة الثانية، يتم دمج مجموعة العناصر في سطر واحد من خلال محدد معين.

ومن السمات البارزة لهذا الزوج: يمكن إجراء التقسيم باستخدام فاصل واحد، ويمكن إجراء الدمج باستخدام فاصل آخر. في هذا السياق، يمكن لجافا سكريبت العمل مع سلاسل "خارج" بناء جملة اللغة.

وظائف السلسلة الكلاسيكية

وظائف معالجة السلسلة الشائعة:

  • يبحث؛
  • عينة؛
  • إستبدال؛
  • تحويل.

ممثلة بالطرق: IndexOf() و lastIndexOf() و toLowerCase() و toUpperCase() و concan() و charCodeAt() وغيرها.

في JavaScript، يتم تمثيل العمل باستخدام السلاسل من خلال مجموعة كبيرة ومتنوعة من الوظائف، ولكنها إما تكرر بعضها البعض أو تُترك للخوارزميات القديمة والتوافق.

على سبيل المثال، يعد استخدام طريقة concat() أمرًا مقبولًا، ولكن من الأسهل كتابته:

  • str = str1 + str2 + str3؛

يعد استخدام الدالة charAt() أمرًا منطقيًا أيضًا، ولكن استخدام charCodeAt() له معنى عملي حقيقي. وبالمثل، بالنسبة لجافا سكريبت، فإن فاصل الأسطر له معنى خاص: في سياق العرض، على سبيل المثال، في رسالة تنبيه () يكون "\n"، وفي إنشاء محتوى الصفحة يكون ""
" في الحالة الأولى يكون مجرد حرف، وفي الحالة الثانية يكون عبارة عن سلسلة من الأحرف.

السلاسل والتعبيرات العادية

في JavaScript، يتضمن العمل مع السلاسل آلية التعبير العادي. يتيح ذلك إجراء عمليات البحث المعقدة والجلب وتحويلات السلسلة داخل المتصفح دون الاتصال بالخادم.

طريقة مباراةيجد، و يستبدليستبدل التطابق الذي تم العثور عليه بالقيمة المطلوبة. يتم تنفيذ التعبيرات العادية في JavaScript على مستوى عالٍ، وهي معقدة بطبيعتها، ونظرًا لخصائص تطبيقها، فإنها تنقل مركز الثقل من الخادم إلى متصفح العميل.

عند تطبيق الأساليب مطابقة، بحثو يستبدللا ينبغي عليك فقط إيلاء الاهتمام الواجب للاختبار على النطاق الكامل للقيم المقبولة للمعلمات الأولية وسلاسل البحث، ولكن أيضًا تقييم الحمل على المتصفح.

أمثلة التعبير العادي

نطاق التعبيرات العادية لمعالجة السلاسل واسع النطاق، ولكنه يتطلب عناية واهتمامًا كبيرين من المطور. أولاً، يتم استخدام التعبيرات العادية عند اختبار إدخال المستخدم في حقول النموذج.

فيما يلي وظائف تتحقق مما إذا كان الإدخال يحتوي على عدد صحيح (schInt) أو رقم حقيقي (schReal). يوضح المثال التالي مدى كفاءة معالجة السلاسل عن طريق التحقق من وجود أحرف صالحة فقط: schText - نص فقط، schMail - عنوان بريد إلكتروني صالح.

من المهم جدًا أن تضع في اعتبارك أنه في JavaScript، تتطلب الأحرف والسلاسل اهتمامًا متزايدًا باللغة، خاصة عندما تحتاج إلى العمل مع السيريلية. في العديد من الحالات، يُنصح بتحديد رموز الأحرف الفعلية بدلاً من معانيها. وهذا ينطبق في المقام الأول على الحروف الروسية.

وتجدر الإشارة بشكل خاص إلى أنه ليس من الضروري دائمًا إكمال المهمة كما تم تعيينها. على وجه الخصوص، فيما يتعلق بالتحقق من الأعداد الصحيحة والأرقام الحقيقية: لا يمكنك القيام بذلك باستخدام طرق السلسلة الكلاسيكية، ولكن من خلال إنشاءات بناء الجملة العادية.

سلاسل كائنية التوجه

في جافا سكريبت، يتم تمثيل العمل مع السلاسل من خلال مجموعة واسعة من الوظائف. لكن هذا ليس سببًا وجيهًا لاستخدامها في شكلها الأصلي. إن بناء الجملة وجودة الوظائف لا تشوبها شائبة، ولكنه حل واحد يناسب الجميع.

يتضمن أي استخدام لوظائف السلسلة معالجة المعنى الحقيقي، والذي تحدده البيانات ونطاق التطبيق والغرض المحدد للخوارزمية.

الحل المثالي هو دائمًا تفسير البيانات لمعناها.

من خلال تمثيل كل معلمة ككائن، يمكنك صياغة وظائف للعمل معها. نحن نتحدث دائمًا عن معالجة الرموز: الأرقام أو السلاسل عبارة عن تسلسلات من الرموز منظمة بطريقة معينة.

هناك خوارزميات عامة، وهناك خوارزميات خاصة. على سبيل المثال، اللقب أو رقم المنزل عبارة عن سلاسل، ولكن إذا كان يُسمح في الحالة الأولى فقط بالأحرف الروسية، ففي الحالة الثانية يُسمح باستخدام الأرقام والأحرف الروسية، وقد تكون هناك واصلات أو فهارس مفصولة بشرطة مائلة. يمكن أن تكون الفهارس أبجدية أو رقمية. قد يكون المنزل المباني.

ليس من الممكن دائمًا توقع جميع المواقف. هذه نقطة مهمة في البرمجة. من النادر ألا تتطلب الخوارزمية تعديلًا، وفي معظم الحالات يكون من الضروري ضبط الوظيفة بشكل منهجي.

يؤدي إضفاء الطابع الرسمي على معلومات الخط المعالجة في شكل كائن إلى تحسين إمكانية قراءة الكود ويسمح بنقله إلى مستوى المعالجة الدلالية. هذه درجة مختلفة من الوظائف وجودة كود أفضل بكثير مع موثوقية أكبر للخوارزمية المطورة.

هناك عدة طرق لتحديد السلاسل الفرعية في JavaScript، بما في ذلك سلسلة فرعية (), فرعية (), شريحة()والوظائف regexp.

في جافا سكريبت 1.0 و1.1، سلسلة فرعية ()موجود باعتباره الطريقة البسيطة الوحيدة لتحديد جزء من سلسلة أكبر. على سبيل المثال، لتحديد الخط يضعطمن تعبير، يستخدم "التعبير".سلسلة فرعية(2,7). المعلمة الأولى للوظيفة هي فهرس الأحرف الذي يبدأ عنده التحديد، بينما المعلمة الثانية هي فهرس الأحرف الذي ينتهي عنده التحديد (لا يشمل): سلسلة فرعية(2,7)يتضمن الفهارس 2 و3 و4 و5 و6.

في JavaScript 1.2، الوظائف فرعية (), شريحة()و regexpيمكن استخدامها أيضًا لتقسيم السلاسل.

سوبستر ()يتصرف بنفس الطريقة substrاللغة اللؤلؤية، حيث يشير المعلمة الأولى إلى فهرس الأحرف الذي يبدأ عنده التحديد، بينما تحدد المعلمة الثانية طول السلسلة الفرعية. لأداء نفس المهمة كما في المثال السابق، تحتاج إلى استخدام "التعبير".substr(2,5). تذكر أن 2 هو نقطة البداية، و5 هو طول السلسلة الفرعية الناتجة.

عندما تستخدم على السلاسل، شريحة()يتصرف بشكل مشابه للوظيفة سلسلة فرعية (). ومع ذلك، فهو أقوى بكثير، وقادر على العمل مع أي نوع من المصفوفات، وليس فقط السلاسل. شريحة()يستخدم أيضًا الإزاحات السلبية للوصول إلى الموضع المطلوب، بدءًا من نهاية السطر. "التعبير".شريحة (2،-3)سيعيد السلسلة الفرعية الموجودة بين الحرف الثاني والحرف الثالث من النهاية، ويعود مرة أخرى اضغط.

الطريقة الأخيرة والأكثر عالمية للعمل مع السلاسل الفرعية هي العمل من خلال وظائف التعبير العادي في JavaScript 1.2. مرة أخرى، مع الانتباه إلى نفس المثال، السلسلة الفرعية "يضعط"تم الحصول عليها من السلسلة "تعبير":

اكتب("التعبير".مباراة(/اضغط/));

كائن مدمج خيط

شيء خيطهذا هو تطبيق كائن لقيمة سلسلة بدائية. يبدو منشئه كما يلي:

سلسلة جديدة( معنى?)

هنا معنىأي تعبير سلسلة يحدد القيمة الأولية للكائن. إذا لم يتم تحديدها، فإن القيمة الأولية للكائن هي "" .

خصائص كائن السلسلة:

البناءالمنشئ الذي أنشأ الكائن. عدد الأحرف في كل سطر. النموذج المبدئيإشارة إلى النموذج الأولي لفئة الكائن.

أساليب كائن السلسلة القياسية

إرجاع الحرف في الموضع المحدد في السلسلة. إرجاع رمز الحرف الموجود في موضع معين في السلسلة. إرجاع سلسلة من السلاسل. ينشئ سلسلة من الأحرف المحددة بواسطة رموز Unicode. إرجاع موضع التواجد الأول للسلسلة الفرعية المحددة. إرجاع موضع التواجد الأخير للسلسلة الفرعية المحددة. يقارن سلسلتين بناءً على لغة نظام التشغيل. يطابق سلسلة مقابل تعبير عادي. يطابق سلسلة مع تعبير عادي ويستبدل السلسلة الفرعية التي تم العثور عليها بسلسلة فرعية جديدة. يطابق سلسلة مع تعبير عادي. يسترد جزءًا من سلسلة ويعيد سلسلة جديدة. يقسم سلسلة إلى مجموعة من السلاسل الفرعية. إرجاع سلسلة فرعية معينة حسب الموضع والطول. تُرجع سلسلة فرعية محددة بمواضع البداية والنهاية. تحويل جميع أحرف السلسلة إلى أحرف صغيرة، مع مراعاة لغة نظام التشغيل. يحول كافة الأحرف الموجودة في سلسلة إلى أحرف كبيرة بناءً على لغة نظام التشغيل. تحويل كافة الحروف في سلسلة إلى أحرف صغيرة. تحويل كائن إلى سلسلة. تحويل كافة الأحرف في سلسلة إلى أحرف كبيرة. إرجاع القيمة الأولية للكائن.

الأساليب غير القياسية لكائن السلسلة

إنشاء إشارة مرجعية بتنسيق HTML ( …). يلتف سلسلة في العلامات …. يلتف سلسلة في العلامات …. يلتف سلسلة في العلامات …. يلتف سلسلة في العلامات …. يلتف سلسلة في العلامات …. يلتف سلسلة في العلامات …. يلتف سلسلة في العلامات …. يقوم بإنشاء ارتباط تشعبي بتنسيق HTML (). يلتف سلسلة في العلامات …. يلتف سلسلة في العلامات …. يلتف سلسلة في العلامات …. يلتف سلسلة في العلامات ….

خاصية الطول

بناء الجملة : شيء.طول صفات: (DontEnum، DontDelete، للقراءة فقط)

قيمة العقار طولهو عدد الأحرف في السطر. بالنسبة لسلسلة فارغة، تكون هذه القيمة صفرًا.

طريقة المرساة

بناء الجملة : شيء.مِرسَاة( اسم) الحجج: اسم نتيجة: قيمة السلسلة

طريقة مِرسَاة هدف، مرفقة بالعلامات …. لا يوجد أي فحص لمعرفة ما إذا كانت السلسلة الأصلية موجودة بالفعل في هذه العلامات. يتم استخدام هذه الطريقة جنبًا إلى جنب مع طريقتي document.write و document.writeln لإنشاء إشارة مرجعية في مستند HTML بالملف المحدد اسم. على سبيل المثال، عامل التشغيل document.write("My text".anchor("Bookmark")) يعادل عامل التشغيل document.write(" النص الخاص بي") .

طريقة كبيرة

بناء الجملة : شيء.كبير() نتيجة: قيمة السلسلة

طريقة كبيرتقوم بإرجاع سلسلة تتكون من هدف، مرفقة بالعلامات …. لا يوجد أي فحص لمعرفة ما إذا كانت السلسلة الأصلية موجودة بالفعل في هذه العلامات. يتم استخدام هذه الطريقة مع طريقتي document.write وdocument.writeln لعرض النص بخط كبير. على سبيل المثال، العبارة document.write("My text".big()) ستعرض السلسلة My text على شاشة المتصفح.

طريقة وميض

بناء الجملة : شيء.رمش() نتيجة: قيمة السلسلة

طريقة رمشتقوم بإرجاع سلسلة تتكون من قيمة سلسلة بدائية هدف، مرفقة بالعلامات …. لا يوجد أي فحص لمعرفة ما إذا كانت السلسلة الأصلية موجودة بالفعل في هذه العلامات. يتم استخدام هذه الطريقة مع الأساليب document.write و document.writeln لعرض النص بخط وامض. هذه العلامات ليست جزءًا من معيار HTML ويتم دعمها فقط بواسطة متصفحات Netscape وWebTV. على سبيل المثال، العبارة document.write("My text".blink()) ستعرض السلسلة النص الخاص بي على شاشة المتصفح.

طريقة جريئة

بناء الجملة : شيء.عريض() نتيجة: قيمة السلسلة

طريقة عريضتقوم بإرجاع سلسلة تتكون من قيمة سلسلة بدائية هدف، مرفقة بالعلامات …. لا يوجد أي فحص لمعرفة ما إذا كانت السلسلة الأصلية موجودة بالفعل في هذه العلامات. يتم استخدام هذه الطريقة مع طريقتي document.write وdocument.writeln لعرض النص بخط غامق. على سبيل المثال، سيعرض عامل التشغيل document.write("My text".bold()) السطر النص الخاص بي .

طريقة شارات

بناء الجملة : شيء.charAt( موضع) الحجج: موضعأي تعبير رقمي نتيجة: قيمة السلسلة

طريقة شاراتتقوم بإرجاع سلسلة تتكون من الحرف الموجود في المعطى المواقفقيمة السلسلة البدائية هدف. يتم ترقيم مواضع أحرف السطر من صفر إلى شيء. -1.

إذا كان الموضع خارج هذا النطاق، فسيتم إرجاع سلسلة فارغة. على سبيل المثال، العبارة document.write("String".charAt(0)) ستطبع الحرف C على شاشة المتصفح.

بناء الجملة : شيءطريقة charCodeAt موضع) الحجج: موضعأي تعبير رقمي نتيجة.charCodeAt(

طريقة شارات: قيمة عددية المواقفقيمة السلسلة البدائية هدفتقوم بإرجاع رقم يساوي رمز Unicode للحرف الموجود في المعطى شيء. يتم ترقيم مواضع أحرف السطر من صفر إلى . -1.إذا كان الموقف خارج هذا النطاق، فإنه يعود

نان

بناء الجملة : شيء. على سبيل المثال، سيعرض عامل التشغيل document.write("String".charCodeAt(0).toString(16)) الكود السداسي العشري للحرف الروسي "C" على شاشة المتصفح: 421. طريقة كونكات, .concat(, …, السطر0) الحجج: طريقة كونكات, .concat(, …, السطر0خط 1 نتيجة: قيمة السلسلة

طريقة سلسلة نأي تعبيرات السلسلة

شيء + طريقة كونكات + .concat( + … + السطر0

com.concat

تقوم بإرجاع سلسلة جديدة تمثل سلسلة من السلسلة الأصلية ووسائط الطريقة. هذه الطريقة تعادل العملية

بناء الجملة : شيءعلى سبيل المثال، سيعرض عامل التشغيل document.write("Frost and sun.".concat("Wonderful day.")) خط Frost and sun على شاشة المتصفح. انه يوم رائع. نتيجة: قيمة السلسلة

طريقة طريقة ثابتةتقوم بإرجاع سلسلة تتكون من قيمة سلسلة بدائية هدف، مرفقة بالعلامات …. لا يوجد أي فحص لمعرفة ما إذا كانت السلسلة الأصلية موجودة بالفعل في هذه العلامات. يتم استخدام هذه الطريقة مع طريقتي document.write وdocument.writeln لعرض النص بخط المبرقة الكاتبة. على سبيل المثال، ستعرض العبارة document.write("My text".fixed()) السلسلة My text على شاشة المتصفح.

طريقة لون الخط

بناء الجملة : شيءلون الخط (اللون) الحجج: لونتعبير السلسلة نتيجة: قيمة السلسلة

طريقة لون الخطتقوم بإرجاع سلسلة تتكون من قيمة سلسلة بدائية هدف، مرفقة بالعلامات لون>…. لا يوجد أي فحص لمعرفة ما إذا كانت السلسلة الأصلية موجودة بالفعل في هذه العلامات. يتم استخدام هذه الطريقة مع طريقتي document.write وdocument.writeln لعرض النص بلون محدد. على سبيل المثال، ستعرض العبارة document.write("My text".fontcolor("red")) السلسلة النص الخاص بي على شاشة المتصفح.

طريقة حجم الخط

بناء الجملة : شيء.حجم الخط( مقاس) الحجج: مقاسالتعبير الرقمي نتيجة: قيمة السلسلة

طريقة حجم الخطتقوم بإرجاع سلسلة تتكون من قيمة سلسلة بدائية هدف، مرفقة بالعلامات …. لا يوجد أي فحص لمعرفة ما إذا كانت السلسلة الأصلية موجودة بالفعل في هذه العلامات. يتم استخدام هذه الطريقة مع طريقتي document.write وdocument.writeln لعرض النص بحجم خط محدد. على سبيل المثال، ستعرض العبارة document.write("My text".fontsize(5)) السلسلة النص الخاص بي على شاشة المتصفح.

طريقة fromCharCode

بناء الجملة : String.fromCharCode( كود1, كود2, …, كود ن) الحجج: كود1, كود2, …, كود نالتعبيرات الرقمية نتيجة: قيمة السلسلة

طريقة fromCharCodeينشئ سلسلة جديدة (ولكن ليس كائن سلسلة) عبارة عن سلسلة من أحرف Unicode مع الرموز كود1, كود2, …, كود ن.

هذه طريقة ثابتة للكائن خيط، لذلك لا تحتاج إلى إنشاء كائن سلسلة للوصول إليه على وجه التحديد. مثال:

var s = String.fromCharCode(65, 66, 67); // تساوي "ABC"

طريقة الفهرس

بناء الجملة : شيء.دليل ل( سلسلة فرعية[,يبدأ]?) الحجج: سلسلة فرعيةأي تعبير سلسلة يبدأأي تعبير رقمي نتيجة.charCodeAt(

طريقة دليل ليعود المركز الأول سلاسل فرعيةفي قيمة سلسلة بدائية هدف. شيء يبدأ يبدأ يبدأ يبدأأكثر من شيء شيء

يتم البحث من اليسار إلى اليمين. وبخلاف ذلك، فإن هذه الطريقة مطابقة للطريقة. يحسب المثال التالي عدد تكرارات نمط السلسلة الفرعية في السلسلة str .

تحدث الدالة (str, Pattern) ( var pos = str.indexOf(pattern); for (var count = 0; pos != -1; count++) pos = str.indexOf(pattern, pos + Pattern.length); عدد الإرجاع ;)

طريقة مائلة

بناء الجملة : شيء.مائل() نتيجة: قيمة السلسلة

طريقة مائلتقوم بإرجاع سلسلة تتكون من قيمة سلسلة بدائية هدف، مرفقة بالعلامات …. لا يوجد أي فحص لمعرفة ما إذا كانت السلسلة الأصلية موجودة بالفعل في هذه العلامات. يتم استخدام هذه الطريقة مع الأساليب document.write و document.writeln لعرض النص بخط مائل. على سبيل المثال، سيعرض عامل التشغيل document.write("My text".italics()) السطر النص الخاص بي .

طريقة lastIndexOf

بناء الجملة : شيء.lastIndexOf ( سلسلة فرعية[,يبدأ]?) الحجج: سلسلة فرعيةأي تعبير سلسلة يبدأأي تعبير رقمي نتيجة.charCodeAt(

طريقة lastIndexOfإرجاع الموقف الأخير سلاسل فرعيةفي قيمة السلسلة البدائية هدف شيء. -1. يبدأإذا تم إعطاء وسيطة اختيارية يبدأ; إذا لم يكن الأمر كذلك، فمن الموضع 0، أي من الحرف الأول من السطر. لو يبدأسالبًا، فيؤخذ مساويًا للصفر؛ لو يبدأأكثر من شيء. -1، فيؤخذ على قدم المساواة شيء. -1.

إذا كان الكائن لا يحتوي على هذه السلسلة الفرعية، فسيتم إرجاع القيمة -1.

يتم البحث من اليمين إلى اليسار. وبخلاف ذلك، فإن هذه الطريقة مطابقة للطريقة. مثال:

var n = "الحوت الأبيض".lastIndexOf("whale"); // ن يساوي 6

بناء الجملة : شيءطريقة الارتباط .وصلة() الحجج: .وصلة(أوري نتيجة: قيمة السلسلة

طريقة أي تعبير سلسلةتقوم بإرجاع سلسلة تتكون من قيمة سلسلة بدائية هدفوصلة، محاطًا بعلامات uri .وصلة("> . لا يوجد أي فحص لمعرفة ما إذا كانت السلسلة المصدر مضمنة بالفعل ضمن هذه العلامات. يتم استخدام هذه الطريقة بالتزامن مع أساليب document.write و document.writeln لإنشاء ارتباط تشعبي في مستند HTML مع المحدد

. على سبيل المثال، العبارة document.write("My Text".link("#Bookmark")) تعادل العبارة document.write("My Text") .

بناء الجملة : شيءطريقة المقارنة المحلية .concat() الحجج: .concat(أوري نتيجة.localeCompare(

: رقم

طريقة يدعم localeCompare هدفيقارن سلسلتين مع الأخذ بعين الاعتبار الإعدادات الوطنية لنظام التشغيل. تقوم بإرجاع -1 إذا كانت القيمة البدائية أقلخطوط1 أقل، +1 إذا كان أكبر

و 0 إذا كانت هذه القيم هي نفسها.

بناء الجملة : شيءطريقة المباراة .مباراة() الحجج: .مباراة( نتيجةريجفير

طريقة مباراة .مباراة( هدف: مجموعة من السلاسل . نتيجة المطابقة هي مجموعة من السلاسل الفرعية التي تم العثور عليها أوباطل

  • ، إذا لم تكن هناك تطابقات. حيث: .مباراة(لو .مباراة(.لا يحتوي على خيار البحث الشامل، ثم يتم تنفيذ الطريقة(شيء com.exec .مباراة() ويتم إرجاع نتيجتها. يحتوي المصفوفة الناتجة على السلسلة الفرعية التي تم العثور عليها في العنصر ذو الفهرس 0، وتحتوي العناصر المتبقية على سلاسل فرعية مقابلة للتعبيرات الفرعية
  • ، إذا لم تكن هناك تطابقات. حيث: .مباراة(، بين قوسين. .مباراة(.لا يحتوي على خيار البحث الشامل، ثم يتم تنفيذ الطريقة(شيءيحتوي على خيار البحث الشامل ثم الطريقة .مباراة(.) يتم تنفيذه طالما تم العثور على التطابقات. إذا كان n هو عدد التطابقات التي تم العثور عليها، فإن النتيجة هي مصفوفة من العناصر n التي تحتوي على السلاسل الفرعية التي تم العثور عليها. ملكية lastIndex

تم تعيين رقم موضع في السلسلة المصدر يشير إلى الحرف الأول بعد العثور على آخر تطابق، أو 0 إذا لم يتم العثور على تطابقات. .مباراة(.لا يحتوي على خيار البحث الشامل، ثم يتم تنفيذ الطريقةيجب أن نتذكر أن الطريقة .مباراة(يغير خصائص الكائن

. أمثلة:

بناء الجملة : شيءاستبدال الطريقة .مباراة(,.يستبدل() شيءاستبدال الطريقة .مباراة(,خط) الحجج: .مباراة(وظيفة خطالتعبير العادي سلسلة التعبير نتيجةاسم الوظيفة أو إعلان الوظيفة

طريقة يستبدل: خط جديد .مباراة(يطابق التعبير العادي هدفمع قيمة سلسلة بدائية .مباراة(ويستبدل السلاسل الفرعية التي تم العثور عليها بسلاسل فرعية أخرى. والنتيجة هي سلسلة جديدة، وهي نسخة من السلسلة الأصلية مع إجراء الاستبدالات. يتم تحديد طريقة الاستبدال من خلال خيار البحث الشامل في

، إذا لم تكن هناك تطابقات. حيث: .مباراة(ونوع الحجة الثانية. .مباراة(ويتم استبداله. لو .مباراة(يحتوي على خيار بحث عالمي، ثم تتطابق جميع السلاسل الفرعية .مباراة(، ويتم استبدالهم.

.يستبدل(، ثم يتم استبدال كل سلسلة فرعية تم العثور عليها بها. في هذه الحالة، قد يحتوي السطر على خصائص الكائن التالية RegExp، مثل $1 و $9 و lastMatch و lastParen و leftContext و rightContext. على سبيل المثال، سيعرض عامل التشغيل document.write("Delicious apples, juicy apples.".replace(/apples/g, "pears")) السطر الكمثرى اللذيذة، الكمثرى المثيرة على شاشة المتصفح.

إذا كانت الحجة الثانية خط، ثم يتم استبدال كل سلسلة فرعية يتم العثور عليها باستدعاء هذه الوظيفة. تحتوي الدالة على الوسائط التالية. الوسيطة الأولى هي السلسلة الفرعية التي تم العثور عليها، متبوعة بالوسيطات المطابقة لجميع التعبيرات الفرعية .مباراة(، بين قوسين، الوسيطة قبل الأخيرة هي موضع السلسلة الفرعية التي تم العثور عليها في السلسلة المصدر، والعد من الصفر، والوسيطة الأخيرة هي السلسلة المصدر نفسها. يوضح المثال التالي كيفية استخدام الأسلوب يستبدليمكنك كتابة دالة لتحويل فهرنهايت إلى مئوية. السيناريو المعطى

الدالة myfunc($0,$1) ( return (($1-32) * 5 / 9) + "C"; ) الدالة f2c(x) ( var s = String(x); return s.replace(/(\d+( \.\d*)?)F\b/, myfunc ) document.write(f2c("212F"));

سيعرض السطر 100C على شاشة المتصفح.

يرجى ملاحظة أن هذه الطريقة تغير خصائص الكائن .مباراة(.

استبدال المثال

استبدال كافة تكرارات سلسلة فرعية في سلسلة

يحدث غالبًا أنك تحتاج إلى استبدال جميع تكرارات سلسلة واحدة بسلسلة أخرى:

var str = "foobarfoobar"; str=str.replace(/foo/g,"xxx"); // ستكون النتيجة str = "xxxbarxxxbar";

طريقة البحث

بناء الجملة : شيء.يبحث( .مباراة() الحجج: .مباراة(أي تعبير عادي نتيجة: التعبير الرقمي

طريقة يبحث: خط جديد .مباراة(يطابق التعبير العادي هدف. نتيجة المطابقة هي موضع أول سلسلة فرعية تم العثور عليها، ويتم العد من الصفر، أو -1 إذا لم تكن هناك تطابقات. وفي الوقت نفسه، خيار البحث العالمي في .مباراة(يتم تجاهل، والخصائص .مباراة(لا تغير.

أمثلة:

بناء الجملة : شيءطريقة شريحة يبدأ [,.شريحة(]?) الحجج: يبدأو .شريحة(نهاية نتيجةاسم الوظيفة أو إعلان الوظيفة

طريقة أي تعبيرات رقمية هدفشريحة يبدأ، من الموقف .شريحة(إلى موقع .شريحة( يبدأ، دون أن يضمها. لو

وحتى نهاية السطر الأصلي. شيءيتم ترقيم مواضع أحرف السطر من صفر إلى يبدأ شيء. +يبدأ. -1. .شريحة(إذا كانت القيمة شيء. +.شريحة(. إذا كانت القيمة

سلبية، ثم يتم استبداله

. بمعنى آخر، يتم التعامل مع الوسائط السالبة على أنها إزاحات من نهاية السلسلة.

بناء الجملة : شيءوالنتيجة هي قيمة سلسلة، وليس كائن سلسلة. على سبيل المثال، العبارة document.write("ABCDEF".slice(2,-1)) ستطبع السلسلة CDE على شاشة المتصفح. نتيجة: قيمة السلسلة

طريقة طريقة صغيرةتقوم بإرجاع سلسلة تتكون من قيمة سلسلة بدائية هدف، مرفقة بالعلامات …. لا يوجد أي فحص لمعرفة ما إذا كانت السلسلة الأصلية موجودة بالفعل في هذه العلامات. يتم استخدام هذه الطريقة مع طريقتي document.write وdocument.writeln لعرض النص بخط صغير. على سبيل المثال، ستعرض العبارة document.write("My text".small()) السلسلة النص الخاص بي على شاشة المتصفح.

طريقة التقسيم

بناء الجملة : شيء.ينقسم( محدد [,رقم]?) الحجج: محددسلسلة أو التعبير العادي رقمالتعبير الرقمي نتيجة: صفيف السلسلة (object مجموعة مصفوفة)

طريقة ينقسميكسر القيمة البدائية هدفإلى مجموعة من السلاسل الفرعية وإعادتها. يتم التقسيم إلى سلاسل فرعية على النحو التالي. يتم فحص السلسلة المصدر من اليسار إلى اليمين للبحث عنها محدد. بمجرد العثور عليه، تتم إضافة السلسلة الفرعية من نهاية المحدد السابق (أو من بداية السطر إذا كان هذا هو التواجد الأول للمحدد) إلى بداية المحدد الذي تم العثور عليه إلى مصفوفة السلسلة الفرعية. وبالتالي، لا يظهر الفاصل نفسه في نص السلسلة الفرعية.

حجة اختيارية رقميحدد الحد الأقصى لحجم المصفوفة الناتجة. إذا تم تحديده، فبعد الاختيار أعداديتم الخروج من طريقة السلسلة الفرعية حتى لو لم يتم الانتهاء من فحص السلسلة الأصلية.

محدديمكن تحديدها إما كسلسلة أو كتعبير عادي. هناك العديد من الحالات التي تتطلب اهتماما خاصا:

يستخدم المثال التالي تعبيرًا عاديًا لتحديد علامات HTML كمحدد. المشغل أو العامل

سيعرض السطر النصي الغامق والمائل على شاشة المتصفح.

طريقة الإضراب

بناء الجملة : شيء.يضرب() نتيجة: قيمة السلسلة

طريقة يضربتقوم بإرجاع سلسلة تتكون من قيمة سلسلة بدائية هدف، مرفقة بالعلامات …. لا يوجد أي فحص لمعرفة ما إذا كانت السلسلة الأصلية موجودة بالفعل في هذه العلامات. يتم استخدام هذه الطريقة مع الأساليب document.write و document.writeln لعرض النص بخط يتوسطه خط. على سبيل المثال، ستعرض العبارة document.write("My text".strike()) السلسلة النص الخاص بي على شاشة المتصفح.

الطريقة الفرعية

بناء الجملة : شيء.الفرعية() نتيجة: قيمة السلسلة

طريقة الفرعيةتقوم بإرجاع سلسلة تتكون من قيمة سلسلة بدائية هدف، مرفقة بالعلامات …. لا يوجد أي فحص لمعرفة ما إذا كانت السلسلة الأصلية موجودة بالفعل في هذه العلامات. يتم استخدام هذه الطريقة مع الأساليب document.write و document.writeln لعرض النص كخط منخفض. على سبيل المثال، ستعرض العبارة document.write("My text".sub()) السلسلة النص الخاص بي على شاشة المتصفح.

طريقة فرعية

بناء الجملة : شيء.substr( موضع [,طول]?) الحجج: موضعو طولالتعبيرات الرقمية نتيجة: قيمة السلسلة

طريقة substrتقوم بإرجاع سلسلة فرعية من القيمة الأولية للسلسلة هدفبدءا من هذا المواقفوتحتوي على طولالشخصيات. لو طوللم يتم تحديده، فسيتم إرجاع سلسلة فرعية بدءًا من السلسلة المحددة المواقفوحتى نهاية السطر الأصلي. لو طولسالبة أو صفر، يتم إرجاع سلسلة فارغة.

وحتى نهاية السطر الأصلي. شيء. -1. موضعلو شيءأكبر من أو يساوي موضع.، ثم يتم إرجاع سلسلة فارغة. لو شيء.+موضع.

ملحوظة. لو موضعإذا كانت القيمة سالبة، فقد قام Internet Explorer باستبدالها بالقيمة 0 عن طريق الخطأ، لذا لا ينبغي استخدام هذا الخيار لأسباب تتعلق بالتوافق.

var src = "abcdef"; فار s1 = src.substr(1, 3); // "bcd" var s2 = src.substr(1); // "bcdef" var s3 = src.substr(-1); // "f"، ولكن في MSIE: "abcdef"

طريقة السلسلة الفرعية

بناء الجملة : شيء.سلسلة فرعية( يبدأ [,.شريحة(]) الحجج: يبدأو .شريحة(التعبيرات الرقمية نتيجة: قيمة السلسلة

طريقة سلسلة فرعيةتقوم بإرجاع سلسلة فرعية من القيمة الأولية للسلسلة هدفشريحة يبدأ، من الموقف .شريحة(إلى موقع .شريحة(لم يتم تحديده، ثم يتم إرجاع سلسلة فرعية، بدءًا من الموضع يبدأ، دون أن يضمها. لو

وحتى نهاية السطر الأصلي. شيء. -1. . -1.الحجج السلبية أو ما يعادلها يبدأيتم استبدالها بالصفر؛ إذا كانت الوسيطة أكبر من طول السلسلة الأصلية، فسيتم استبدالها بها. لو أكثرنهاية يبدأ، ثم يغيرون الأماكن. لو يساوينهاية

، ثم يتم إرجاع سلسلة فارغة.

والنتيجة هي قيمة سلسلة، وليس كائن سلسلة. أمثلة:

var src = "abcdef"; فار s1 = src.substring(1, 3); // "قبل الميلاد" var s2 = src.substring(1, -1); // "أ" var s3 = src.substring(-1, 1); // "أ"

بناء الجملة : شيءطريقة سوب نتيجة: قيمة السلسلة

طريقة .رشفة()تقوم بإرجاع سلسلة تتكون من قيمة سلسلة بدائية هدف، مرفقة بالعلامات …رشفة

. لا يوجد أي فحص لمعرفة ما إذا كانت السلسلة الأصلية موجودة بالفعل في هذه العلامات. يتم استخدام هذه الطريقة مع الأساليب document.write و document.writeln لعرض النص كخط مرتفع. على سبيل المثال، ستعرض العبارة document.write("My text".sup()) السلسلة My text على شاشة المتصفح.

بناء الجملة : شيءطريقة toLocaleLowerCase نتيجة.toLocaleLowerCase()

: رقم: خط جديد

طريقة : إنترنت إكسبلورر مدعوم من الإصدار 5.5. متصفح Netscape غير مدعوم. toLocaleLowerCase

تقوم بإرجاع سلسلة جديدة يتم فيها استبدال جميع أحرف السلسلة الأصلية بأحرف صغيرة، مع مراعاة الإعدادات المحلية لنظام التشغيل. لا يتم تغيير الأحرف المتبقية من السلسلة الأصلية. تظل السلسلة الأصلية كما هي. عادةً ما تُرجع هذه الطريقة نفس النتيجة؛ يكون الاختلاف ممكنًا فقط إذا كان ترميز اللغة يتعارض مع قواعد Unicode لتحويل الأحرف الكبيرة إلى أحرف صغيرة.

بناء الجملة : شيءطريقة toLocaleUpperCase نتيجة.toLocaleLowerCase()

: رقم: خط جديد

طريقة .toLocaleUpperCase() toLocaleUpperCase

تقوم بإرجاع سلسلة جديدة يتم فيها استبدال جميع أحرف السلسلة الأصلية بأحرف كبيرة، مع مراعاة الإعدادات المحلية لنظام التشغيل. لا يتم تغيير الأحرف المتبقية من السلسلة الأصلية. تظل السلسلة الأصلية كما هي. عادةً ما تُرجع هذه الطريقة نفس النتيجة؛ يكون الاختلاف ممكنًا فقط إذا كان ترميز اللغة يتعارض مع قواعد Unicode لتحويل الأحرف الصغيرة إلى أحرف كبيرة.

بناء الجملة : شيءطريقة الأحرف الصغيرة نتيجةاسم الوظيفة أو إعلان الوظيفة

طريقة .toLowerCase()تقوم بإرجاع سلسلة جديدة مع استبدال جميع أحرف السلسلة الأصلية بأحرف صغيرة. لا يتم تغيير الأحرف المتبقية من السلسلة الأصلية. تظل السلسلة الأصلية كما هي. على سبيل المثال، العبارة document.write("String object".toLowerCase()) ستطبع سلسلة كائن السلسلة على شاشة المتصفح.

تحياتي لكل من قرر تمامًا تعلم لغة موجهة نحو النماذج الأولية. آخر مرة أخبرتك عنها، واليوم سنقوم بتحليل سلاسل جافا سكريبت. نظرًا لأن جميع عناصر النص في هذه اللغة عبارة عن سلاسل (لا يوجد تنسيق منفصل للأحرف)، فيمكنك تخمين أن هذا القسم يحتل جزءًا مهمًا في تعلم بناء جملة js.

لهذا السبب سأخبرك في هذا المنشور بكيفية إنشاء عناصر السلسلة، وما هي الطرق والخصائص المتوفرة لها، وكيفية تحويل السلاسل بشكل صحيح، على سبيل المثال، التحويل إلى رقم، وكيف يمكنك استخراج السلسلة الفرعية المطلوبة وغير ذلك الكثير. بالإضافة إلى ذلك، سأرفق أمثلة على كود البرنامج. الآن دعونا ننكب على العمل!

بناء جملة متغير السلسلة

في لغة JS، يتم الإعلان عن جميع المتغيرات باستخدام الكلمة الأساسية var، وبعد ذلك، اعتمادًا على تنسيق المعلمات، يتم تحديد نوع المتغير المُعلن. كما تتذكر من جافا سكريبت، لا توجد كتابة قوية. ولهذا السبب يوجد هذا الموقف في الكود.

عند تهيئة المتغيرات، يمكن تأطير القيم في علامات اقتباس مزدوجة ومفردة، وبدءًا من عام 2015، في علامات اقتباس مفردة منحرفة. لقد أرفقت أدناه أمثلة لكل طريقة للإعلان عن السلاسل.

أريد أن أهتم بشكل خاص بالطريقة الثالثة. لديها عدد من المزايا.

بمساعدتها، يمكنك بسهولة إجراء فاصل أسطر وسيبدو كما يلي:

تنبيه("عدة

أنا أنقل

والطريقة الثالثة تسمح لك باستخدام البناء $(...). هناك حاجة إلى هذه الأداة لإدراج الاستيفاء. لا تنزعج، الآن سأخبرك ما هو.

بفضل $(...) لا يمكنك إدراج قيم متغيرة في السلاسل فحسب، بل يمكنك أيضًا إجراء العمليات الحسابية والمنطقية باستخدامها، وطرق الاتصال، والوظائف، وما إلى ذلك. كل هذا يسمى مصطلح واحد - الاستيفاء. تحقق من مثال تنفيذ هذا النهج.

1 2 3 فار القلم = 3؛ قلم فار = 1؛ تنبيه(`$(قلم) + $(قلم رصاص*5) = $(قلم + قلم رصاص)`);

فار القلم = 3؛ قلم فار = 1؛ تنبيه(`$(قلم) + $(قلم رصاص*5) = $(قلم + قلم رصاص)`);

ونتيجة لذلك، سيتم عرض التعبير "3 + 1*5 = 8" على الشاشة.

أما الطريقتان الأوليتان لإعلان السلاسل فلا فرق فيهما.

دعونا نتحدث قليلا عن الشخصيات الخاصة

تحتوي العديد من لغات البرمجة على أحرف خاصة تساعد في التعامل مع النص في السلاسل. وأشهرها هو فاصل الأسطر (\ن).

تبدأ جميع الأدوات المشابهة في البداية بشرطة مائلة عكسية (\) وتليها حروف الأبجدية الإنجليزية.

لقد أرفقت أدناه جدولًا صغيرًا يسرد بعض الأحرف الخاصة.

نحن نخزن ترسانة ثقيلة من الأساليب والخصائص

قدم مطورو اللغة العديد من الأساليب والخصائص لتبسيط وتحسين العمل مع السلاسل. ومع إصدار معيار جديد يسمى ES-2015 العام الماضي، تم تجديد هذه القائمة بأدوات جديدة.

طول

سأبدأ بالخاصية الأكثر شيوعًا، والتي تساعد في معرفة طول قيم متغيرات السلسلة. هذا طول. يتم استخدامه بهذه الطريقة:

var string = "وحيد القرن";

تنبيه (سلسلة. الطول)؛

ستعرض الإجابة الرقم 9. ويمكن أيضًا تطبيق هذه الخاصية على القيم نفسها:

"وحيدات".الطول؛

النتيجة لن تتغير.

حرف ()

تتيح لك هذه الطريقة استخراج حرف معين من النص. دعني أذكرك أن الترقيم يبدأ من الصفر، لذا لاستخراج الحرف الأول من سلسلة ما، عليك كتابة الأوامر التالية:

var string = "وحيد القرن";

تنبيه(string.charAt(0));.

ومع ذلك، لن تكون النتيجة الناتجة نوع حرف، بل ستظل تعتبر سلسلة مكونة من حرف واحد.

من toLowerCase() إلى UpperCase()

تتحكم هذه الطرق في حالة الأحرف. عند كتابة الكود "المحتوى".

إلى الحالة العليا()سيتم عرض الكلمة بأكملها بأحرف كبيرة.

للحصول على التأثير المعاكس، يجب عليك استخدام "المحتوى". toLowerCase().

دليل ل()

أداة شعبية وضرورية للبحث عن سلاسل فرعية. كوسيطة، تحتاج إلى إدخال الكلمة أو العبارة التي تريد البحث عنها، وتقوم الطريقة بإرجاع موضع العنصر الذي تم العثور عليه. إذا لم يتم العثور على النص الذي تم البحث عنه، فسيتم إرجاع "-1" إلى المستخدم.

1 2 3 4 var text = "تنظيم بحث عن الزهور!"; تنبيه(text.indexOf("color")); //19 تنبيه(text.indexOf(" ")); //12 تنبيه(text.lastIndexOf(" ")); //18

var text = "تنظيم بحث عن الزهور!"; تنبيه(text.indexOf("color")); //19 تنبيه(text.indexOf(" ")); //12 تنبيه(text.lastIndexOf(" ")); //18

لاحظ أن التابع lastIndexOf() يفعل نفس الشيء، ولكنه يبحث فقط من نهاية الجملة.

استخراج السلسلة الفرعية

لهذا الإجراء، تم إنشاء ثلاث طرق متطابقة تقريبًا في js.

دعونا ننظر إليها أولا سلسلة فرعية (البداية والنهاية)و شريحة (البداية، النهاية). إنهم يعملون نفس الشيء. تحدد الوسيطة الأولى موضع البداية الذي سيبدأ منه الاستخراج، والثانية مسؤولة عن نقطة التوقف النهائية. في كلتا الطريقتين، يتم استخراج السلسلة دون تضمين الحرف الموجود في موضع النهاية.

var text = "الغلاف الجوي"; تنبيه(text.substring(4)); // سيتم عرض "المجال" تنبيه (text.substring(2, 5)); // عرض "موس" تنبيه (نص. شريحة (2، 5))؛ // عرض "موس"

الآن دعونا نلقي نظرة على الطريقة الثالثة، والتي تسمى فرعية (). يجب أيضًا أن يتضمن وسيطتين: يبدأو طول.

يحدد الأول موضع البداية، ويحدد الثاني عدد الأحرف التي سيتم استخراجها. لتتبع الاختلافات بين هذه الأدوات الثلاثة، استخدمت المثال السابق.

var text = "الغلاف الجوي";

تنبيه(text.substr(2, 5)); // عرض "موسفي"

باستخدام الوسائل المدرجة لأخذ سلاسل فرعية، يمكنك إزالة الأحرف غير الضرورية من عناصر السطر الجديدة التي يعمل بها البرنامج بعد ذلك.

رد()

تساعد هذه الطريقة في استبدال الأحرف والسلاسل الفرعية في النص. يمكن استخدامه أيضًا لتنفيذ عمليات الاستبدال العامة، ولكن للقيام بذلك تحتاج إلى تضمين التعبيرات العادية.

سيحل هذا المثال محل السلسلة الفرعية في الكلمة الأولى فقط.

var text = "الغلاف الجوي"; var newText = text.replace("Atmo"، "Strato") تنبيه (newText) // النتيجة: الغلاف الجوي الستراتوسفير

وفي تنفيذ البرنامج هذا، نظرًا لعلامة التعبير العادي "g"، سيتم إجراء استبدال عالمي.

var text = "الغلاف الجوي"; var newText = text.replace(/Atmo/g,"Strato") تنبيه(newText) // النتيجة: الستراتوسفير الستراتوسفير

دعونا نفعل التحويل

توفر JavaScript ثلاثة أنواع فقط من تحويل نوع الكائن:

  1. رقمي؛
  2. خيط؛
  3. منطقية.

في المنشور الحالي سأتحدث عن 2 منهم، لأن المعرفة بهما أكثر ضرورة للعمل مع السلاسل.

التحويل الرقمي

لتحويل قيمة عنصر بشكل صريح إلى نموذج رقمي، يمكنك استخدام الرقم (القيمة).

هناك أيضًا تعبير أقصر: +"999".

var a = Number("999");

تحويل السلسلة

يتم تنفيذها بواسطة الدالة يُحذًِر، وكذلك دعوة صريحة سلسلة (نص).

مهمة . بحث واستبدال

مهمة.نظرا لسلسلة "aaa@bbb@ccc". استبدل كل شيء @ على "!" باستخدام عالميبحث واستبدال.

حل:في هذه الحالة، تحتاج إلى استخدام طريقة الاستبدال، التي تقوم بالبحث والاستبدال. ومع ذلك، في حالة استخدام بسيطة، سيتم العثور على هذه الطريقة واستبدالها المباراة الأولى فقط:

var str = "aaa@bbb@ccc"; تنبيه(str.replace("@"، "!")); //الحصول على "aaa!bbb@ccc"

لاستبدال جميع المباريات نستخدم عالميالبحث باستخدام تعبير عادي:

var str = "aaa@bbb@ccc"; تنبيه(str.replace(/@/g, "!")); //الحصول على "aaa!bbb!ccc"

مهمة . طرق substr، سلسلة فرعية، شريحة

مهمة.نظرا لسلسلة "ااا ب ب سي سي سي". اقطع منه كلمة "بب"بثلاث طرق مختلفة (عبر substr وsubstring وslice).

حل:كلمة "بب"يبدأ بالحرف رقم 4 (الترقيم من الصفر)، وينتهي بالحرف رقم 6. فلنستخدم الطرق المشار إليها:

var str = "aaa bbb ccc"; تنبيه(str.substr(4, 3)); //substr(مكان القطع، مقدار القطع) تنبيه(str.substring(4, 7)); // سلسلة فرعية (من مكان القطع إلى مكان القطع) تنبيه (str.slice (4، 7))؛ // شريحة (من أين يتم القطع، ومن أين يتم القطع)

يرجى ملاحظة أنه في الأساليب سلسلة فرعيةو أي تعبيرات رقميةيجب أن تكون المعلمة الثانية أكبر بمقدار 1 من الحرف الذي نريد إزالته (أي، إذا حددنا الرقم 7، فسيتم القطع حتى الحرف السادس ضمناً).

مهمة . تحويل تنسيق التاريخ

مهمة.ثابت تاريخالتاريخ بالتنسيق "2025-12-31" "31/12/2025" .

حل:باستخدام طريقة التقسيم سنقوم بتقسيم السلسلة الخاصة بنا "2025-12-31" للصفيف بواسطة الفاصل "-" ، في هذه الحالة سيحتوي العنصر الصفري على السنة، الأول - الشهر، والثاني - اليوم:

var str = "31-12-2025"; var arr = Split("-"); تنبيه (arr)؛ // احصل على المصفوفة ["2025"، "12"، "31"]

الآن، بالإشارة إلى عناصر المصفوفة المختلفة حسب مفاتيحها، سنقوم بتشكيل السلسلة التي نحتاجها:

var str = "31-12-2025"; var arr = Split("-"); var newStr = arr + "/" + arr + "/"+arr; تنبيه (newStr)؛ // احصل على السلسلة "31/12/2025"

مشاكل لحلها

العمل مع حالة الأحرف

نظرا لسلسلة "شبيبة". اجعلها سلسلة "شبيبة".

نظرا لسلسلة "شبيبة". اجعلها سلسلة "شبيبة".

العمل مع الطول، السلسلة الفرعية، السلسلة الفرعية، الشريحة. العمل مع مؤشر

نظرا لسلسلة "أنا أتعلم جافا سكريبت!". يجد الشخصياتفي هذا الخط.

نظرا لسلسلة "أنا أتعلم جافا سكريبت!". ابحث عن موضع السلسلة الفرعية "أنا أقوم بالتدريس".

نظرا لمتغير شارع، الذي يخزن بعض النص. تنفيذ تقليم النص الطويل وفق المبدأ التالي: إذا كان عدد أحرف هذا النص أكبر من المحدد في المتغير n، فإلى المتغير نتيجةدعنا نكتب الأوائل نشخصيات السلسلة شارعوأضف علامة الحذف "..." في النهاية. وإلا إلى متغير نتيجةكتابة محتويات المتغير شارع.

العمل مع استبدال

نظرا لسلسلة "أنا أتعلم جافا سكريبت!". استبدل كل شيء واصلاتعلى "!" باستخدام عالميبحث واستبدال.

العمل مع الانقسام

نظرا لسلسلة "أنا أتعلم جافا سكريبت!". باستخدام الطريقة ينقسماكتب كل كلمة من هذا السطر متفرقعنصر المصفوفة

نظرا لسلسلة "أنا أتعلم جافا سكريبت!". باستخدام الطريقة ينقسماكتب كل حرف من هذه السلسلة في عنصر صفيف منفصل.

ثابت تاريخالتاريخ بالتنسيق "2025-12-31" . تحويل هذا التاريخ إلى التنسيق "31.12.2025" .

العمل مع الانضمام

نظرا لمجموعة ["أنا"، "تعليم"، "جافا سكريبت"، "!"]. باستخدام الطريقة ينضمتحويل المصفوفة إلى سلسلة "أنا+أتعلم+جافا سكريبت+!".

مهام

يتحول الرسالة الأولىسلاسل إلى الأحرف الكبيرة.

تحويل الحرف الأول كل كلمةسلاسل إلى الأحرف الكبيرة.

تحويل السلسلة "var_test_text"الخامس "فارتستتكست". وبطبيعة الحال، يجب أن يعمل البرنامج النصي مع أي سلاسل مماثلة.

قد تتقدم بعض مقاطع الفيديو بشكل أسرع، لأننا لم نقم بتغطية ES6 بالكامل حتى الآن في هذه المرحلة من البرنامج التعليمي. ما عليك سوى تخطي مقاطع الفيديو هذه ومشاهدتها لاحقًا.