我想用这个代码来替换空格_,它用于字符串中的第一个空格,但所有其他空间实例保持不变。任何人都知道为什么?在JavaScript中用下划线替换空格?
function updateKey()
{
var key=$("#title").val();
key=key.replace(" ","_");
$("#url_key").val(key);
}
我想用这个代码来替换空格_,它用于字符串中的第一个空格,但所有其他空间实例保持不变。任何人都知道为什么?在JavaScript中用下划线替换空格?
function updateKey()
{
var key=$("#title").val();
key=key.replace(" ","_");
$("#url_key").val(key);
}
尝试.replace(/ /g,"_");
编辑:或.split(' ').join('_')
如果你有一个厌恶的RE
编辑:John Resig said:
如果您正在搜索并替换 通过一个带有静态搜索的字符串CH 和静态取代它的速度更快 执行与 .split(“匹配”)的行动,我们(“替换”) - 这似乎违反直觉的,但它 管理工作中最 现代浏览器的方式。 ( 到 下一个版本的火狐 - 将大大提高.replace(/ match/g, “替换”)的性能 - 因此以前的语句 将不会很长。 )
要回答以下人员Prasanna的问题:
你如何通过 单一空间的Javascript替换多个空格?
您将使用具有不同正则表达式的相同函数replace
。对于空白的表达是\s
和“1次以上”的表述是+
加号,所以你只是用以下内容替换亚当的回答是:
key=key.replace(/\s+/g,"_");
你可以试试这个
var str = 'hello world !!';
str = str.replace(/\s+/g, '-');
它甚至单取代多个空格“ - ”。
我知道这是旧的,但我没有看到任何人提及延长字符串prototype
。
String.prototype.replaceAll = function(search, replace){
if(!search || !replace){return this;} //if search entry or replace entry empty return the string
return this.replace(new RegExp('[' + search + ']', 'g'), replace); //global RegEx search for all instances ("g") of your search entry and replace them all.
};
替换为空间下划线
var str = 'How are you';
var replaced = str.split(' ').join('_');
输出: How_are_you
呸!你击败我58secs!我不应该添加key =键。大声笑 – Adam 2009-01-13 22:12:25
反正它在我的剪贴板。什么是可能性。 – 2009-01-13 22:15:50
有没有办法做到这一点没有正则表达式? – 2009-01-13 22:20:50