Mootools 1.2教程(9)——输入过滤第二部分(字符串)(3)

作者:Fdream 来源:Fdream博客 时间:2008-12-01 12:25:00 

substitute()

substitute()是一个非常强大的工具。我们今天只是讲一下一些关于它的基本知识,substitute的更多强大的功能来自于它的正则表达式的使用,我们会在后面稍微讲一下。然而,仅仅使用这些基本功能你就可以做很多事情了。

参考代码: 


// 这是要使用substitute方法的文本模板
// 注意,要替代的部分都是用花括号括起来的部分
var text_for_substitute = "One is {one},  Two {two}, Three is {three}.";

// 这个对象包含了要替换的规则
// 没有用引号引起来的部分是搜索项
// 用引号引起来的部分是用来替换搜索项的句子
var substitution_object = {
    one   : 'the first variable', 
    two   : 'always comes second', 
    three : 'getting sick of bronze..'
    };

// 在text_for_substitute上调用substitute方法
// 把substitution_object作为参数传入
// 把替换结果赋值给变量new_string
var new_string = text_for_substitute.substitute(substitution_object); 

// new_string现在的值为"One is the first variable,  Two always comes second, Three is getting sick of bronze..."

事实上你并不需要创建一个substitution_object对象来使用substitute方法,如果你觉得它不合适的话,下面的方法也同样可以实现:

参考代码: 

// 建立要替换的字符串
var text_for_substitute = "{substitute_key} and the original text";
// 把要替换的对象作为参数传给substitute方法
var result_text = text_for_substitute.substitute({substitute_key : 'substitute_value'});
// result_text现在就是"substitute_value and the original text"

你可以通过这个方法做得更多更深入一点,你可以用从一个DOM对象中获得值的函数调用来作为替换项的值,这也是可以的。

参考代码:


var substituteDemo = function(){
    // 从textfield中获得原始的 文本
    var original_text = $('substitute_span').get('html');

    // 用文本框中的值替换textfield中的值
    var new_text = original_text.substitute({
        first  : $('first_value').get('value'),
        second : $('second_value').get('value'),
        third  : $('third_value').get('value'),
    });

    // 用新的文本替换span中的内容
    $('substitute_span').set('html', new_text);


    // 禁用substitute按钮
    // 并启用reset按钮
    $('simple_substitute').set('disabled', true);
    $('simple_sub_reset').set('disabled', false);
}

var substituteReset = function(){
    // 创建一个变量来保存原有的文本
    var original_text = "|- {first} -- {second} -- {third} -|";

    // 用原有的文本来替换span中的内容
    $('substitute_span').set('html', original_text);

    // 禁用reset按钮
    // 并启用substitute
    $('simple_sub_reset').set('disabled', true);
    $('simple_substitute').set('disabled', false);
}

在今天结束之前,有一个很小的提示,如果你在一个字符串上调用substitute方法,并且不为要替换的关键字提供一个键/值对(key/value pair)对象,那么它将只是简单地删除掉花括号里面的内容。因此,如果你需要保留花括号里面的字符串,请注意不要使用这个方法。举个例子,如下:参考代码:

("{one} some stuff {two} some more stuff").substitute({one : 'substitution text'});

这将返回“substitution text some stuff some more stuff”。

更多学习

远程下载地址:下载一个包含你开始所需要的zip包(26.33 KB)

asp之家下载地址:mootorial_day9_filtering_2.zip (26.33 KB)

标签:mootools,过滤,字符串,教程,javascript
0
投稿

猜你喜欢

  • 统一的品牌设计

    2008-08-07 12:53:00
  • 另外一种斜体的导航条

    2008-11-05 12:24:00
  • sqlserver中重复数据值只取一条的sql语句

    2012-06-06 19:46:31
  • Oracle 10G:PL/SQL正规表达式(正则表达式)手册

    2009-07-02 12:33:00
  • 触手生春【4.14】CSS与HTML结构

    2008-12-09 18:10:00
  • ASP六大对象介绍

    2007-09-08 12:28:00
  • 编写数据库asp程序需注意的问题

    2007-12-29 12:57:00
  • SQL中自己创建函数 分割字符串

    2008-11-20 16:13:00
  • ASP防止图片木马上传的代码

    2011-02-05 11:08:00
  • 使用MySql和php出现中文乱码的解决方法

    2009-01-14 12:02:00
  • 亚马逊购物用户体验分析 (二)

    2009-10-25 12:48:00
  • MySQL时间字段究竟使用INT还是DateTime

    2010-03-09 14:46:00
  • oracle join on 数据过滤问题

    2009-07-14 21:17:00
  • 注册和填表中常见的中英文对照

    2008-07-26 12:12:00
  • 如何使数据库的ID字段自动加1?

    2010-06-03 10:47:00
  • 用js实现用户输入密码的强度

    2007-11-22 21:41:00
  • 一个输入框提示列表效果

    2008-03-09 18:53:00
  • asp如何实现点击数的计算?

    2010-05-18 18:39:00
  • Linux下C连接MySQL出现错误解决一例

    2008-12-29 13:17:00
  • Asp下Access无法更新的解决方法

    2012-12-04 20:19:35
  • asp之家 网络编程 m.aspxhome.com