【问题标题】:Javascript replace special chars with empty stringsJavascript用空字符串替换特殊字符
【发布时间】:2011-05-31 01:11:06
【问题描述】:

好的,我有这些字符串原型可以使用,但是,我不明白它们到底是做什么的。

String.prototype.php_htmlspecialchars = function()
{
 return this.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
}

String.prototype.php_unhtmlspecialchars = function()
{
 return this.replace(/&quot;/g, '"').replace(/&gt;/g, '>').replace(/&lt;/g, '<').replace(/&amp;/g, '&');
}

String.prototype.php_addslashes = function()
{
 return this.replace(/\\/g, '\\\\').replace(/'/g, '\\\'');
}

String.prototype._replaceEntities = function(sInput, sDummy, sNum)
{
 return String.fromCharCode(parseInt(sNum));
}

String.prototype.removeEntities = function()
{
 return this.replace(/&(amp;)?#(\d+);/g, this._replaceEntities);
}

String.prototype.easyReplace = function (oReplacements)
{
 var sResult = this;
 for (var sSearch in oReplacements)
  sResult = sResult.replace(new RegExp('%' + sSearch + '%', 'g'), oReplacements[sSearch]);

 return sResult;
}

基本上,我需要做的是替换双引号(“),>,

我可以使用上述任何功能吗?如果没有,我怎样才能在Javascript中完成这个?我可以在字符串上使用替换吗?

请有人帮帮我。我将此文本放入一个选择框中,并将在提交表单时输入到数据库中。虽然,我正在使用 PHP 来删除所有这些字符,但是,我很难找到在 Javascript 中执行此操作的方法。

谢谢:)

【问题讨论】:

  • 目标是什么?听起来您想去除标签,即从 HTML 中提取文本内容,对吗?
  • 不,我允许用户在文本框中输入内容,然后进入数据库,文本框对其输入至关重要。它检查选择框是否已经包含此文本。所以它需要去除特殊字符,因为我不想将已经存在的相同值插入到数据库中。
  • 但是,请确保您也保留您的 php 剥离,因为如果您不在服务器上进行测试,很容易绕过您的 javascript 将 html 直接注入您的数据库
  • 就像我说的,我已经在 PHP 方面弄清楚了这部分内容。我在 PHP 中剥离它就好了。彻底消除这一切。只是它的 JS 部分没有被剥离。不管怎样,有人回答了。干杯:)

标签: javascript regex replace


【解决方案1】:

Remove special characters (like !, >, ?, ., # etc.,) from a string using JavaScript:

var temp = new String('This is a te!!!!st st>ring... So??? What...');
document.write(temp + '<br>');
temp =  temp.replace(/[^a-zA-Z 0-9]+/g,'');
document.write(temp + '<br>');

jsFiddle

编辑:

如果您不想从字符串中删除点(.):

temp =  temp.replace(/[^a-zA-Z 0-9.]+/g,'');

【讨论】:

  • 谢谢,使用你的方法,我实际上可以定义自己的角色。这比剥离实体要好。谢谢:) 只需添加-_ 也。
猜你喜欢
  • 2016-09-27
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
  • 2015-03-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多