الفرق بين المراجعتين لصفحة: «JavaScript/RegExp/test»
لا ملخص تعديل |
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}' |
||
سطر 71: | سطر 71: | ||
* معيار [http://www.ecma-international.org/ecma-262/5.1/#sec-15.10.6.3 ECMAScript 5.1]. | * معيار [http://www.ecma-international.org/ecma-262/5.1/#sec-15.10.6.3 ECMAScript 5.1]. | ||
* معيار [http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf ECMAScript 3rd Edition]. | * معيار [http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf ECMAScript 3rd Edition]. | ||
[[تصنيف:JavaScript]] | [[تصنيف:JavaScript|{{SUBPAGENAME}}]] | ||
[[تصنيف:JavaScript Global Objects]] | [[تصنيف:JavaScript Global Objects|{{SUBPAGENAME}}]] | ||
[[تصنيف:JavaScript RegExp]] | [[تصنيف:JavaScript RegExp|{{SUBPAGENAME}}]] |
المراجعة الحالية بتاريخ 15:44، 28 يناير 2018
الدالة RegExp.prototype.test()
تجرى بحثًا عن مطابقة للتعبير النمطي في السلسلة النصية المُحدَّدة، وتُعيد true
أو false
.
البنية العامة
regexObj.test(str)
str
السلسلة النصية التي سنبحث عن مُطابَقة للتعبير النمطي فيها.
القيمة المعادة
إذا نجحت عملية المطابقة، فستُعيد الدالة test()
القيمة true
، وإن لم يكن التعبير النمطي موجودًا في السلسلة النصية فستُعيد القيمة false
.
الوصف
الدالة test()
تُحدِّد إن كان النمط موجودًا في السلسلة النصية أم لا، وستُعيد قيمة منطقيةً (Boolean
)، وذلك على النقيض من الدالة String.prototype.search()
التي تُعيد فهرس المُطابَقة (أو القيمة -1
إن لم يكن التعبير النمطي موجودًا). للحصول على معلومات إضافية (لكن سيكون التنفيذ أبطأ) فاستخدم الدالة exec()
(الشبيهة بالدالة String.prototype.match()
).
وكما في الدالة exec()
، يمكن استدعاء الدالة test()
عدِّة مرات على كائن التعابير النمطية الذي ضُبِطَت فيه الراية "g
" للحصول على المُطابَقة التالية للتعبير النمطي في السلسلة النصية.
أمثلة
استخدام الدالة test()
هذا مثالٌ بسيطٌ يختبر وجود "hello" في بداية السلسلة النصية، وستُعيد الدالة قيمةً منطقيةً:
var str = 'hello world!';
var result = /^hello/.test(str);
console.log(result); // true
أما الدالة الآتية فتعرض رسالةً توضِّح إن كان النمط موجودًا في السلسلة النصية أم لا:
function testinput(re, str) {
var midstring;
if (re.test(str)) {
midstring = ' contains ';
} else {
midstring = ' does not contain ';
}
console.log(str + midstring + re.source);
}
استخدام الدالة test()
مع تعبيرٍ نمطيٍ له الراية g
إذا امتلك التعبير النمطي الراية "g
" (أي global
، التي تبحث عن جميع المطابقات في السلسلة النصية)، فستستكمل الدالة test()
بحثها بدءًا من قيمة الخاصية lastIndex
التابعة لكائن RegExp
. المثال الآتي يوضِّح هذا السلوك:
var regex = /foo/g;
// regex.lastIndex: 0
regex.test('foo'); // true
// regex.lastIndex: 3
regex.test('foo'); // false
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | نعم | نعم | نعم | نعم | نعم |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 5.1.
- معيار ECMAScript 3rd Edition.