在Javascript中将字符转换为星号

时间:2011-12-08 12:34:34

标签: javascript jquery

我正在尝试编写一个函数,将第一个单词后的所有字符转换为星号,

说我有MYFIRSTWORD MYSECONDWORD,id希望它在Keyup上转换为星号,但仅限于第二个单词,将其渲染为......

MYFIRSTWORD * **

我一直在使用以下内容,只会转换每一个字母,这可能吗?

$(this).val($(this).val().replace(/[^\s]/g, "*"));

3 个答案:

答案 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, "*");
    }
});

演示:http://jsfiddle.net/fc7ru/

答案 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);