我有额外的空格字符字符串。每次有一个以上的空白,我希望它是只有一个。我如何使用JavaScript做到这一点?
我假定您希望从字符串的开头和/或结尾删除空格(而不是删除所有空格?
如果是这样的话,你需要一个像这样的正则表达式:
mystring = mystring.replace(/(^\s+|\s+$)/g,' ');
这将删除字符串开头或结尾的所有空格。如果你只想从结尾开始修剪空格,那么正则表达式应该是这样的:
mystring = mystring.replace(/\s+$/g,' ');
希望这能有所帮助。
你可以扩充String以方法的形式实现这些行为,比如:
String.prototype.killWhiteSpace = function() {
return this.replace(/\s/g, '');
};
String.prototype.reduceWhiteSpace = function() {
return this.replace(/\s+/g, ' ');
};
这现在允许你使用以下优雅的形式来生成你想要的字符串:
"Get rid of my whitespaces.".killWhiteSpace();
"Get rid of my extra whitespaces".reduceWhiteSpace();
我知道我不应该在一个问题上使用巫术,但考虑到问题的细节,我通常会将其扩展为:
我想用一个空格替换字符串中多次出现的空白 …和…我不希望在字符串的开头或结尾出现空格(trim)
为此,我使用了如下代码(第一个regexp上的括号只是为了使代码更具可读性……除非你熟悉regexp,否则它会让你很痛苦):
s = s.replace(/^(\s*)|(\s*)$/g, '').replace(/\s+/g, ' ');
这样做的原因是string -object上的方法返回一个字符串对象,你可以在这个对象上调用另一个方法(就像jQuery和其他一些库一样)。如果你想在一个对象上连续执行多个方法,这是一种更紧凑的编码方式。
如果你想限制用户在名字中给空格,只需创建一个If语句并给出条件。就像我一样:
$j('#fragment_key').bind({
keypress: function(e){
var key = e.keyCode;
var character = String.fromCharCode(key);
if(character.match( /[' ']/)) {
alert("Blank space is not allowed in the Name");
return false;
}
}
});
创建一个JQuery函数。 这是一个按键事件。 初始化一个变量。 给出匹配字符的条件 为匹配的条件显示警报消息。
下面是一个非正则表达式的解决方案(只是为了好玩):
Var s = ' a b word word。字,字,字'; //使用ES5: s = s.split (' ') .filter (n (n){返回函数 != '' }).加入(' '); console.log(年代);// "a b word word. "词,词,词" //或ES2015: S = S .split(' ')。Filter (n => n).join(' '); console.log(年代);// "a b word word. "词,词,词"
甚至可以用.filter(String)替换filter(n => n)
它用空格分隔字符串,从数组中删除所有空数组项(超过一个空格的数组项),并将所有单词再次连接到一个字符串中,在它们之间使用一个空格。
这个怎么样?
“我的测试字符串\t\t与疯狂的东西很酷”。替换(/\s{2,9999}|\t/g, ' ')
输出"my test string with crazy stuff is cool "
这个也可以去掉任何标签
试试这个。
var string = " string 1";
string = string.trim().replace(/\s+/g, ' ');
结果将是
string 1
这里发生的事情是,它将首先使用trim()修剪外部空间,然后使用.replace(/\s+/g, ' ')修剪内部空间。
推荐文章
- 我如何在Swift连接字符串?
- src和dist文件夹的作用是什么?
- jQuery UI对话框-缺少关闭图标
- 如何使用AngularJS获取url参数
- 将RGB转换为白色的RGBA
- 如何将“camelCase”转换为“Camel Case”?
- 我们可以在另一个JS文件中调用用一个JavaScript编写的函数吗?
- 如何使用JavaScript重新加载ReCaptcha ?
- jQuery。由于转义了JSON中的单引号,parseJSON抛出“无效JSON”错误
- 如何获得一个变量值,如果变量名存储为字符串?
- 在Ruby中不创建新字符串而修饰字符串的规范方法是什么?
- 为什么不是字符串。空一个常数?
- 在JavaScript关联数组中动态创建键
- ReactJS和公共文件夹中的图像
- 在React Native中使用Fetch授权头