删除空格和HTML标记

时间:2014-02-25 12:04:25

标签: javascript jquery html tags username

尝试确保在注册时没有人在用户名中添加空格,我将html标签删除但不是空格。

使用Javascript:

$("#user").keypress(function (evt) {
    if (isValid(String.fromCharCode(evt.which)))
        return false;
});

function isValid(str) {
    return /[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g.test(str);
}

function stripspaces(input) {
    input.value = input.value.replace(/\s/gi, "");
    return true;
}

HTML:

Username: <input type="text" id="user"><br/>

你可以在这里看到它。 http://jsfiddle.net/QshDd/63/

3 个答案:

答案 0 :(得分:1)

您可以尝试(每个空格字符都被替换,逐个字符,空字符串):

str = str.replace(/\s/g, '');

或(每个连续的空格字符串都被空字符串替换为“+”字符):

str = str.replace(/\s+/g, '');

侨!

答案 1 :(得分:0)

您需要在删除空格的情况下返回输入值:

function stripspaces(input)
{
  return input.value.replace(/\s/gi,"");
}

你编写函数的方式只是返回true无论如何。此外,似乎你没有调用该功能(诚然只是快速阅读)。

虽然,简单地将\s(空白字符的正则表达式特殊字符)添加到要替换的字符可能更容易,给出:

function isValid(str) {
    return /[~`!#$%\^&*+=\-\[\]\\';,/\s{}|\\":<>\?]/g.test(str);
}

JS Fiddle demo

参考文献:

答案 2 :(得分:0)

试试这个,

input.value.replace(/\n/g," ").replace( /<.*?>/g, "" );