好的,我可以使用这些字符串原型,但是,我不明白他们到底做了什么。
String.prototype.php_htmlspecialchars = function()
{
return this.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
}
String.prototype.php_unhtmlspecialchars = function()
{
return this.replace(/"/g, '"').replace(/>/g, '>').replace(/</g, '<').replace(/&/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;
}
基本上,我需要做的是替换双引号(“),&gt;,&lt;,单引号(')等所有实例。基本上与php中的htmlentities()更改相同的东西,但我需要用空字符串替换它们,以便从文本中删除它们。
我可以使用上述任何功能吗?如果没有,我如何在Javascript中完成此操作?我可以在字符串上使用替换吗?
拜托,有人,请帮帮我。我将此文本放入选择框中,并在提交表格后输入数据库。虽然,我使用PHP删除所有这些字符,但是,我很难在Javascript中找到一种方法。
谢谢:)
答案 0 :(得分:11)
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>');
修改强>
如果您不想从字符串中删除点(。):
temp = temp.replace(/[^a-zA-Z 0-9.]+/g,'');