我有一个包含多个空格的字符串.我想用加号替换它们.我以为我可以用
var str = 'a b c';
var replaced = str.replace(' ', '+');
Run Code Online (Sandbox Code Playgroud)
但它只取代了第一次出现.如何让它替换所有出现的?
每个JS意见领袖都说扩展原生对象是一种不好的做法.但为什么?我们是否获得了性能?他们是否害怕有人以"错误的方式"做到这一点,并添加了可枚举的类型Object,几乎破坏了任何对象上的所有循环?
以TJ Holowaychuk的should.js为例.他增加了一个简单的getter来Object,一切工作正常(来源).
Object.defineProperty(Object.prototype, 'should', {
set: function(){},
get: function(){
return new Assertion(Object(this).valueOf());
},
configurable: true
});
Run Code Online (Sandbox Code Playgroud)
这真的很有道理.例如,可以扩展Array.
Array.defineProperty(Array.prototype, "remove", {
set: function(){},
get: function(){
return removeArrayElement.bind(this);
}
});
var arr = [0, 1, 2, 3, 4];
arr.remove(3);
Run Code Online (Sandbox Code Playgroud)
是否有任何反对扩展本机类型的论据?
我有两个html文本输入,其中第一个文本框中的用户类型需要反映在第二个文本框上,而反映它应该将所有空格替换为分号.我做了一些现存的,它替换第一个空间不是所有,我想我需要使用.each函数的Jquery,我用过但我没有得到确切的结果 看到这个
HTML:
Title : <input type="text" id="title"><br/>
Keyword : <input type="text" id="keyword">
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$('#title').keyup(function() {
var replaceSpace = $(this).val();
var result = replaceSpace.replace(" ", ";");
$("#keyword").val(result);
});
Run Code Online (Sandbox Code Playgroud)
谢谢.
如何在Javascript中使用正则表达式用空格替换下划线?
var ZZZ = "This_is_my_name";
Run Code Online (Sandbox Code Playgroud) 使用JQuery,我从MySQL数据库中的某些数据的本质查询框中提取值.知道大多数用户将使用'*'(星号)作为通配符值并且MySQL使用'%'字符,我想将任何星号转换为'%'.
通常情况下,这就像使用一样简单
queryString = inputText.replace('*', '%');
Run Code Online (Sandbox Code Playgroud)
但是我没那么成功.Javascript的replace()函数只替换第一次出现,因此它不会替换最后一个星号*Foo*
我尝试的第二个选项是使用正则表达式,它也不起作用:
queryString = inputText.replace(/\x2a/g, '%');
Run Code Online (Sandbox Code Playgroud)
如何用'%'(百分号)替换'*'(星号)?我想象有一个非常简单的正则表达式,或者我忽略的东西.
在LESS中,我使用以下代码来获取窗口的高度.
@winheight:`$(window).height()`
Run Code Online (Sandbox Code Playgroud)
我得到的是一个数字,但是当我在px那里添加单位时,
height: @winheight px;
Run Code Online (Sandbox Code Playgroud)
它会编译成类似的东西height: 910 px.
我试着在javascript评估后也有这个单元.但我得到了同样的结果.
@winheight:`$(window).height()`px
height: @winheight;
...
height:910 px;
Run Code Online (Sandbox Code Playgroud)
我怎样才能到达height:910px那里(没有数字和单位之间的空间)?
编辑:
至于前四个结果,它会创建一个height:"910px"无法正确呈现的字符串.
如何使用JavaScript删除字符串中的双重或多重下划线?
例如
stack__overflow___website
我需要消除__它并用一个替换它_.
我有一个非常简单的问题.不幸的是,我找不到答案.
我只做了两个简单的输入函数
Input 1:<br /><input type="text" id="i1" name="i1" />
Input 2:<br />
<input type="text" id="i2" name="i2" />
Run Code Online (Sandbox Code Playgroud)
当更改输入1时,我想让结果出现在输入2中.此外,我想要替换一些字符,并且我希望将字符设置为小写(以便将其用作URL).
所以我做了以下jQuery代码:
$("#i1").keyup(function() {
var ptitle = $("#i1").val();
$("#2").val(ptitle.replace(" ", "-").toLowerCase());
});
Run Code Online (Sandbox Code Playgroud)
这种方法很有效,除非我输入的字符串有多次相同的字符要替换.然后它只取代第一次.
例如:当我输入输入1:'关于这家公司'时,它将导致输入2:'about-this company'.它应该是:'关于这个公司'.有谁知道我的jQuery代码出了什么问题?
我是Javascript的新手,需要对大学课程中的程序提供一些帮助,用字符串"spaces"替换字符串中的所有空格.
我使用了以下代码,但我无法让它工作:
<html>
<body>
<script type ="text/javascript">
// Program to replace any spaces in a string of text with the word "spaces".
var str = "Visit Micro soft!";
var result = "";
For (var index = 0; index < str.length ; index = index + 1)
{
if (str.charAt(index)= " ")
{
result = result + "space";
}
else
{
result = result + (str.charAt(index));
}
}
document.write(" The answer is " + result );
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我正在尝试检测textarea上我的代码所遵循的空格
textarea.value.replace(/\s/g, ' ');
Run Code Online (Sandbox Code Playgroud)
但它检测到所有空格,我想只检测空格......
有什么办法吗?