MooTools предоставляет способ для создания и использования регулярных выражений (регулярное выражение). Этот урок объяснит основы и крайнее использование регулярных выражений.
Давайте обсудим несколько методов регулярных выражений.
тестовое задание()
test () — это метод, используемый для проверки регулярного выражения с помощью входной строки. Хотя JavaScript уже предоставляет объект RegExp вместе с функцией test (), MooTools добавляет дополнительные функции к объекту RegExp. Давайте возьмем пример и поймем, как использовать метод test (). Посмотрите на следующий код.
пример
<!DOCTYPE html> <html> <head> <script type = "text/javascript" src = "MooTools-Core-1.6.0.js"></script> <script type = "text/javascript" src = "MooTools-More-1.6.0.js"></script> <script type = "text/javascript"> var regex_demo = function(){ var test_string = $('regex_value').get('value'); var regex_value = $('regex_match').get('value'); var test_result = test_string.test(regex_value); if (test_result){ $('regex_1_result').set('html', "Matched"); } else { $('regex_1_result').set('html', "Not Match"); } } window.addEvent('domready', function() { $('regex').addEvent('click', regex_demo); }); </script> </head> <body> String: <input type = "text" id = "regex_value"/><br/><br/> Reg Exp: <input type = "text" id = "regex_match"/><br/><br/> <input type = "button" id = "regex" value = "TEST"/><br/><br/> <Lable id = "regex_1_result"></Lable> </body> </html>
Вы получите следующий вывод —
Выход
Игнорировать дело
Это одна из важных ситуаций в концепции регулярных выражений. Если вы не хотите, чтобы регулярное выражение чувствительно к регистру, вы вызываете метод test с опцией « I ». Давайте возьмем пример, который объяснит случай игнорирования в регулярном выражении. Посмотрите на следующий код.
пример
<!DOCTYPE html> <html> <head> <script type = "text/javascript" src = "MooTools-Core-1.6.0.js"></script> <script type = "text/javascript" src = "MooTools-More-1.6.0.js"></script> <script type = "text/javascript"> var regex_demo = function(){ var test_string = $('regex_value').get('value'); var regex_value = $('regex_match').get('value'); var test_result = test_string.test(regex_value, "i"); if (test_result){ $('regex_1_result').set('html', "Matched"); } else { $('regex_1_result').set('html', "Not Match"); } } window.addEvent('domready', function() { $('regex').addEvent('click', regex_demo); }); </script> </head> <body> String: <input type = "text" id = "regex_value"/><br/><br/> Reg Exp: <input type = "text" id = "regex_match"/><br/><br/> <input type = "button" id = "regex" value = "TEST"/><br/><br/> <Lable id = "regex_1_result"></Lable> </body> </html>
Вы получите следующий вывод —
Выход
Регулярное выражение начинается с ‘^’
Регулярное выражение ‘^’ (cap) — это специальный оператор, который позволяет вам проверять регулярное выражение в начале заданной строки. Этот оператор используется в качестве префикса к регулярному выражению. Давайте возьмем пример, который объяснит, как использовать этот оператор. Посмотрите на следующий код.
пример
<!DOCTYPE html> <html> <head> <script type = "text/javascript" src = "MooTools-Core-1.6.0.js"></script> <script type = "text/javascript" src = "MooTools-More-1.6.0.js"></script> <script type = "text/javascript"> var regex_demo = function(){ var test_string = $('regex_value').get('value'); var regex_value = $('regex_match').get('value'); var test_result = test_string.test(regex_value); if (test_result){ $('regex_1_result').set('html', "Matched"); } else { $('regex_1_result').set('html', "Not Match"); } } window.addEvent('domready', function() { $('regex').addEvent('click', regex_demo); }); </script> </head> <body> String: <input type = "text" id = "regex_value"/><br/><br/> Reg Exp: <input type = "text" id = "regex_match"/><br/><br/> <input type = "button" id = "regex" value = "Match"/><br/><br/> <Lable id = "regex_1_result"></Lable> </body> </html>
Вы получите следующий вывод —
Выход
Регулярное выражение заканчивается на ‘$’
Регулярное выражение ‘$’ (доллар) — это специальный оператор, который позволяет вам проверять регулярное выражение в конце данной строки. Этот оператор используется в качестве суффикса к регулярному выражению. Давайте возьмем пример, который объяснит, как использовать этот оператор. Посмотрите на следующий код.
пример
<!DOCTYPE html> <html> <head> <script type = "text/javascript" src = "MooTools-Core-1.6.0.js"></script> <script type = "text/javascript" src = "MooTools-More-1.6.0.js"></script> <script type = "text/javascript"> var regex_demo = function(){ var test_string = $('regex_value').get('value'); var regex_value = $('regex_match').get('value'); var test_result = test_string.test(regex_value); if (test_result){ $('regex_1_result').set('html', "Matched"); } else { $('regex_1_result').set('html', "Not Match"); } } window.addEvent('domready', function() { $('regex').addEvent('click', regex_demo); }); </script> </head> <body> String: <input type = "text" id = "regex_value"/><br/><br/> Reg Exp: <input type = "text" id = "regex_match"/><br/><br/> <input type = "button" id = "regex" value = "Match"/><br/><br/> <Lable id = "regex_1_result"></Lable> </body> </html>
Вы получите следующий вывод —
Выход
Классы персонажей
Символьные классы — это фаза регулярных выражений, которые позволяют вам соответствовать определенным символам (A или Z) или диапазону символов (A — Z). Например, вы хотите проверить, существуют ли в строке одно из слов foo и zoo, классы позволяют сделать это, поместив символы в квадратные скобки [] с помощью регулярных выражений. Посмотрите на следующий код.
пример
<!DOCTYPE html> <html> <head> <script type = "text/javascript" src = "MooTools-Core-1.6.0.js"></script> <script type = "text/javascript" src = "MooTools-More-1.6.0.js"></script> <script type = "text/javascript"> var regex_demo_1 = function(){ var test_string = $('regex_value').get('value'); var regex_value = $('regex_match_1').get('value'); var test_result = test_string.test(regex_value); if (test_result){ $('regex_1_result').set('html', "Matched"); } else { $('regex_1_result').set('html', "Not Match"); } } var regex_demo_2 = function(){ var test_string = $('regex_value').get('value'); var regex_value = $('regex_match_2').get('value'); var test_result = test_string.test(regex_value); if (test_result){ $('regex_2_result').set('html', "Matched"); } else { $('regex_2_result').set('html', "Not Match"); } } var regex_demo_3 = function(){ var test_string = $('regex_value').get('value'); var regex_value = $('regex_match_3').get('value'); var test_result = test_string.test(regex_value); if (test_result){ $('regex_3_result').set('html', "Matched"); } else { $('regex_3_result').set('html', "Not Match"); } } window.addEvent('domready', function() { $('regex_1').addEvent('click', regex_demo_1); $('regex_2').addEvent('click', regex_demo_2); $('regex_3').addEvent('click', regex_demo_3); }); </script> </head> <body> String: <input type = "text" id = "regex_value"/><br/><br/> Reg Exp 1: <input type = "text" id = "regex_match_1"/> <input type = "button" id = "regex_1" value = "Match"/> <Lable id = "regex_1_result"></Lable><br/><br/> Reg Exp 2: <input type = "text" id = "regex_match_2"/> <input type = "button" id = "regex_2" value = "Match"/> <Lable id = "regex_2_result"></Lable><br/><br/> Reg Exp 3: <input type = "text" id = "regex_match_3"/> <input type = "button" id = "regex_3" value = "Match"/> <Lable id = "regex_3_result"></Lable> </body> </html>
Вы получите следующий вывод —
Выход
escapeRegExp ()
Этот метод используется для игнорирования escape-символов из заданной строки при проверке ее с помощью регулярного выражения. Обычно, escape-символы —
- . * + ? ^ $ { } ( ) | [ ] / \
Давайте рассмотрим пример, в котором у нас есть заданная строка типа «[check-this-stuff] это $ 900». Если вы хотите взять всю эту строку, вы должны объявить ее следующим образом: «\ [check \ -this \ -stuff \] это \ $ 900». Система принимает только этот шаблон. Мы не используем шаблоны символов escakpe в MooTools. У нас есть метод escapeRegExp () для игнорирования escape-символов. Посмотрите на следующий код.
пример
<!DOCTYPE html> <html> <head> <script type = "text/javascript" src = "MooTools-Core-1.6.0.js"></script> <script type = "text/javascript" src = "MooTools-More-1.6.0.js"></script> <script type = "text/javascript"> var regex_demo_1 = function(){ var test_string = $('regex_value').get('value'); var regex_value = $('regex_match_1').get('value'); var test_result = test_string.test(regex_value); if (test_result){ $('regex_1_result').set('html', "Matched"); } else { $('regex_1_result').set('html', "Not Match"); } } var regex_demo_2 = function(){ var test_string = $('regex_value').get('value'); var regex_value = $('regex_match_1').get('value'); regex_value = regex_value.escapeRegExp(); var test_result = test_string.test(regex_value); if (test_result){ $('regex_2_result').set('html', "Matched"); } else { $('regex_2_result').set('html', "Not Match"); } } window.addEvent('domready', function() { $('regex_1').addEvent('click', regex_demo_1); $('regex_2').addEvent('click', regex_demo_2); $('regex_3').addEvent('click', regex_demo_3); }); </script> </head> <body> String: <input type = "text" id = "regex_value"/><br/><br/> Reg Exp 1: <input type = "text" id = "regex_match_1" size = "6"/><br/><br/> <input type = "button" id = "regex_1" value = "With escapeRegExp()"/> <Lable id = "regex_1_result"></Lable><br/><br/> <input type = "button" id = "regex_2" value = "Without escapeRegExp()"/> <Lable id = "regex_2_result"></Lable><br/><br/> </body> </html>
Вы получите следующий вывод —