smilelg 2009-09-15
代码如下:
// 我们要在这个字符串中查找 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()函数的文档。