- MooTools教程
- MooTools - 主页
- MooTools - 简介
- MooTools - 安装
- MooTools - 程序结构
- MooTools - 选择器
- MooTools - 使用数组
- MooTools - 函数
- MooTools - 事件处理
- MooTools - DOM 操作
- MooTools - 样式属性
- MooTools - 输入过滤
- MooTools - 拖放
- MooTools - 正则表达式
- MooTools - 期刊
- MooTools - 滑块
- MooTools - 可排序
- MooTools - 手风琴
- MooTools - 工具提示
- MooTools - 选项卡式内容
- MooTools - 类
- MooTools - Fx.Element
- MooTools - Fx.Slide
- MooTools - Fx.Tween
- MooTools - Fx.Morph
- MooTools - Fx.Options
- MooTools - Fx.Events
- MooTools 有用资源
- MooTools - 快速指南
- MooTools - 有用的资源
- MooTools - 讨论
MooTools - 正则表达式
MooTools 提供了一种创建和使用正则表达式 (regex) 的方法。本教程将解释正则表达式的基础知识和极端用法。
让我们讨论一下正则表达式的几种方法。
测试()
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>
您将收到以下输出 -
输出
忽略大小写
这是正则表达式概念中的重要情况之一。如果您不希望正则表达式区分大小写,则可以使用选项“ 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()
此方法用于在使用正则表达式检查给定字符串时忽略转义字符。通常,转义字符是 -
- . * + ? ^ $ { } ( ) | [ ] / \
让我们举一个例子,其中我们有一个给定的字符串,如“[check-this-stuff] it is $900”。如果你想获取整个字符串,你必须像这样声明它 - “\[check\-this\-stuff\] it is \$900”。系统仅接受此模式。我们不在 MooTools 中使用 escakpe 字符模式。我们有 escapeRegExp() 方法来忽略转义字符。看看下面的代码。
例子
<!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>
您将收到以下输出 -