jQuery - 在表单中的所有文本框/ textareas中清理数据?

时间:2010-10-04 19:51:13

标签: jquery validation replace

我的工作伙伴告诉我,您可以使用jQuery编写几行代码来查找单个字符(在此示例中为'\0'),并将其替换为页面上的所有文本框和textareas。当然,他没有说明代码行会做什么......

有一种简单的方法吗?我们遇到的问题是,人们从旧系统复制数据,而文本末尾的数据为'\0'。然后将其保存在数据库中,然后从数据库返回到客户端时,会导致错误。

编辑:我同意Magnar的回答,但只是为了学习,有没有人知道这样做的方法?

2 个答案:

答案 0 :(得分:5)

这不是jQuery的工作。我强烈建议您删除服务器端的空字符,以增加稳定性和安全性。

但是,这就是你要做的事情(略显冗长):

var remove_null_character = function () {
    var field = $(this),
        old_value = field.val(),
        new_value = old_value.replace('\0', '');
    field.val(new_value);
};
$("input:text, textarea").live("blur", remove_null_character);

答案 1 :(得分:1)

Javascript具有您可以使用的字符串搜索/替换功能。 jQuery可以为您获取特定的输入节点,但搜索/替换只是简单的javascript:

str = str.replace('\0', '');

The replace function顺便说一下也适用于正则表达式,以防你需要更强大的东西。