JavaScript Tutorial/Regular Expressions/Filter
Содержание
Bad word filter
<html>
<head>
<title>Bad Words Example</title>
<script type="text/javascript">
function filterText(sText) {
var reBadWords = /badword|anotherbadword/gi;
return sText.replace(reBadWords, "****");
}
function showText() {
var oInput1 = document.getElementById("txt1");
var oInput2 = document.getElementById("txt2");
oInput2.value = filterText(oInput1.value);
}
</script>
</head>
<body>
<P>
<textarea rows="10" cols="50" id="txt1">badword anotherbadword</textarea><br />
<input type="button" value="Filter Bad Words" onclick="showText()" /></p>
<P>Filtered Text:<br />
<textarea rows="10" cols="50" id="txt2"></textarea></p>
</body>
</html>
Strip HTML
<html>
<head>
<title>Strip HTML Example</title>
<script type="text/javascript">
String.prototype.stripHTML = function () {
var reTag = /<(?:.|\s)*?>/g;
return this.replace(reTag, "");
};
function showText() {
var oInput1 = document.getElementById("txt1");
var oInput2 = document.getElementById("txt2");
oInput2.value = oInput1.value.stripHTML();
}
</script>
</head>
<body>
<textarea rows="10" cols="50" id="txt1"></textarea><br />
<input type="button" value="Strip HTML" onclick="showText()" /></p>
<P>Stripped Text:<br />
<textarea rows="10" cols="50" id="txt2"></textarea></p>
</body>
</html>
Trim the leading and trailing spaces
<html>
<head>
<title>Trim Example</title>
<script type="text/javascript">
String.prototype.trim = function () {
var reExtraSpace = /^\s+(.*?)\s+$/;
return this.replace(reExtraSpace, "$1");
};
function showText() {
var oInput1 = document.getElementById("txt1");
var oInput2 = document.getElementById("txt2");
oInput2.value = oInput1.value.trim();
}
</script>
</head>
<body>
<textarea rows="10" cols="50" id="txt1"></textarea><br />
<input type="button" value="Trim" onclick="showText()" /></p>
<P>Trimmed Text:<br />
<textarea rows="10" cols="50" id="txt2"></textarea></p>
</body>
</html>
Use regular expression to remove bad words
<html>
<head>
<title>Bad Words Example</title>
<script type="text/javascript">
function filterText(sText) {
var reBadWords = /badword|anotherbadword/gi;
return sText.replace(reBadWords, function (sMatch) {
return sMatch.replace(/./g, "*");
});
}
function showText() {
var oInput1 = document.getElementById("txt1");
var oInput2 = document.getElementById("txt2");
oInput2.value = filterText(oInput1.value);
}
</script>
</head>
<body>
<textarea rows="10" cols="50" id="txt1">badword anotherbadword</textarea><br />
<input type="button" value="Filter Bad Words" onclick="showText()" /></p>
<P>Filtered Text:<br />
<textarea rows="10" cols="50" id="txt2"></textarea></p>
</body>
</html>