我正在尝试编写一个函数,将第一个单词后的所有字符转换为星号,
说我有MYFIRSTWORD MYSECONDWORD,id希望它在Keyup上转换为星号,但仅限于第二个单词,将其渲染为......
MYFIRSTWORD * **
我一直在使用以下内容,只会转换每一个字母,这可能吗?
$(this).val($(this).val().replace(/[^\s]/g, "*"));
答案 0 :(得分:3)
我不确定单一的正则表达式,但你可以这样做:
$("input").keyup(function() {
var i = this.value.indexOf(" ");
if (i > -1) {
this.value = this.value.substr(0, i)
+ this.value.substr(i).replace(/[\S]/g, "*");
}
});
答案 1 :(得分:0)
<input type="text" onkeyup='$(this).val($(this).val().replace(/[^\s]/g, "*"));' />
签入JsFiddle
答案 2 :(得分:-1)
你应该试试这段代码
var array = $(this).val().split(" ");
var newValue = "";
for(var i=0; i<array.length; i++) {
if ( i==0){
newValue = array[i];
continue;
} else{
newValue+= array[i].replace(/[^\s]/g, "*");
}
}
$(this).val(newValue);