发布于 2016-12-12 23:17:58 | 81 次阅读 | 评论: 0 | 来源: 网友投递
MooTools JavaScript WEB应用框架
MooTools是一个简洁,模块化,面向对象的开源JavaScript web应用框架。
它为web开发者提供了一个跨浏览器js解决方案。在处理js、css、html时候。
它提供了一个比普通js更面向对象的documentAPI。
// 我们要在这个字符串中查找
var string_to_test = "Match anything in here";
// 我们要查找的正则表达式
var regular_expression = "anything";
// 应用正则表达式,返回true或者false
var result = string_to_test.test(regular_expression);
// result现在为true
var string_to_match = "anything else";
// 返回true
string_to_match.contains('nything')
// 返回false
string_to_match.contains('nything', ' ')
// 返回true
string_to_match.contains('anything')
// 返回true
string_to_match.test('nything');
var regex_demo = function(){
var test_string = $('regex_1_value').get('value');
var regex_value = $('regex_1_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', "didn't match");
}
}
// 我们要在这个字符串中查找
var string_to_test = "IgNorE CaSe";
// 返回false
string_to_test.test("ignore");
// 返回true
string_to_test.test("ignore", "i");
var regex_demo = function(){
// 从输入文本框中得到要测试的字符串
var test_string = $('regex_2_value').get('value');
// 从输入文本框中得到正则表达式
var regex_value = $('regex_2_match').get('value');
// 如果我们需要忽略大小写
var regex_param = "";
if ($('regex_2_param').checked){
regex_param = "i";
}
// 运行test()方法并得到结果
var test_result = test_string.test(regex_value, regex_param);
// 更新结果显示区域
if (test_result){
$('regex_2_result').set('html', "matched");
}
else {
$('regex_2_result').set('html', "didn't match");
}
}
// 我们要测试的字符串
var string_to_test = "lets match at the beginning"
// 测试这个字符串是不是以lets开头,返回true
var is_true = string_to_test.match("^lets");
和你期待的一样,如果这个表达式不是在字符串的开头,这个测试将返回false:
// 我们要测试的字符串
var string_to_test = "lets match at the beginning";
// 测试这个字符串是不是以match开头,返回false
var is_false = string_to_test.match("^match");
// 我们要测试的字符串
var string_to_test = "lets match at the end";
// 测试这个字符串是不是以end结尾,返回true
var is_true = string_to_test.match("end$");
// 测试这个字符串是不是以the结尾,返回false
var is_false = string_to_test.match("the$");
// 我们要测试的字符串
var string_to_test = "lets match everything";
// 测试这个字符串是不是完全和"lets match everything"一样,返回true
var is_true = string_to_test.match("^lets match everything$");
// 测试这个字符串是不是完全和"lets everything"一样,返回false
var is_false = string_to_test.match("^lets everything$");
// 测试moo用的字符串
var first_string_to_test = "cows go moo";
// 测试boo用的字符串
var second_string_to_test = "ghosts go boo";
// 这匹配第一个字符串而不匹配第二个字符串
var returns_true = first_string_to_test.test("moo");
var returns_false = second_string_to_test("moo");
// 这匹配第二个字符串而不匹配第一个字符串
returns_false = first_string_to_test.test("boo");
returns_true = second_string_to_test.test("boo")
// 这同时匹配第一个和第二个字符串
returns_true = first_string_to_test("[mb]oo");
returns_true = second_string_to_test("[mb]oo");
var string_to_test = " b or 3";
// 匹配a, b, c, 或者d,返回true
string_to_test.test("[a-d]");
// 匹配1, 2, 3, 4, 或者5. 返回 true.
string_to_test.test("[1-5]");
var string_to_test = "b or 3";
// 匹配a到d或者1到5,返回true
string_to_test.test([ [a-d] | [1-5] ]);
// 我们要匹配的字符串,注意[、]、-和$
var string_to_match = "[stuff-in-here] or $300";
// 不正确的匹配方式
string_to_match.test("[stuff-in-here]");
string_to_match.test("$300");
// 正确的匹配方式
// 注意[、]、-和$前面的\
string_to_match.test("\[stuff\-in\-here\]");
string_to_match.test("\$300");
// 我们要转义的字符串
var unescaped_regex_string = "[stuff-in-here]";
// 转义这个字符串
var escaped_regex_string = unescaped_regex_string.escapeRegExp();
// 转义后的字符串是 "\[stuff\-in\-here\]"
// 需要转义的字符串
var unescaped_regex_string = "[stuff-in-here]“;
// 转义这个字符串,从开头匹配
var escaped_regex_string = “^” + unescaped_regex_string.escapeRegExp();
// escaped_regex_string现在就是“^\[stuff\-in\-here\]”
var regex_demo = function(){
// 获取要测试的字符串
var test_string_1 = $('regex_7_value_1').get('value');
// 获取要使用的正则表达式
var regex_value = $('regex_7_match').get('value');
// 检查我们是不是要转义正则表达式
if ($('regex_7_escape').checked){
// 如果是的,我们则进行转义
regex_value = regex_value.escapeRegExp();
}
// 检查一下我们是不是要忽略大小写
var regex_param = "";
if ($('regex_7_param').checked){
regex_param = "i";
}
// 运行测试
var test_result_1 = test_string_1.test(regex_value, regex_param);
if (test_result_1){
$('regex_7_result_1').set('html', "matched");
}
else {
$('regex_7_result_1').set('html', "didn't match");
}
}
Regular-Expressions.info是一个很好的参考和学习的地方——一个值得花一些时间浏览的网站。对于那些熟悉Perl或者熟悉各种语言差异的人,Robert的Perl教程中的关于正则表达式这一节则对一些基本概念解释得非常的好。同样,Stephen Ramsay已经写了一个关于Unix正则表达式的教程,用一种非常清楚和直接了当的方式讲解了其中的一些概念。
另外一个不错的地方是正则表达式库,它们有数不清的正则表达式例子来完成各种各样的常见任务。最后,如果你有勇气,你应该花一些时间来看一下Mozilla的JavaScript正则表达式参考手册。这可能非常的多,但是极其有用。如果你想看一下MooTools这边关于正则的内容,可以看一下test()函数的文档。