Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
125
rated 0 times [  130] [ 5]  / answers: 1 / hits: 43036  / 14 Years ago, mon, december 27, 2010, 12:00:00

Ok, I have these string prototypes to work with, however, I don't understand what they do exactly.



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;
}


Basically, what I need to do is replace all instances of double quotes (), >, <, single quotes ('), etc. etc.. Basically the same stuff that htmlentities() in php changes, but I need to replace them with an empty string, so that they are removed from the text.



Can I use any of the functions above? If not, how can I accomplish this in Javascript? Can I use a replace on the string?



Please, someone, help me here. I am placing this text into a select box and will be inputted into the database upon submitting of the form. Though, I am using PHP to remove all of these characters, however, I'm having difficulty finding a way to do this in Javascript.



Thanks :)


More From » regex

 Answers
181

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



Edit:



If you don't want to remove dot(.) from string:



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

[#94488] Wednesday, December 22, 2010, 14 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
haleeg

Total Points: 703
Total Questions: 100
Total Answers: 98

Location: Dominica
Member since Sat, Nov 5, 2022
2 Years ago
;