尝试确保在注册时没有人在用户名中添加空格,我将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/
答案 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);
}
参考文献:
答案 2 :(得分:0)
试试这个,
input.value.replace(/\n/g," ").replace( /<.*?>/g, "" );