我如何结合输入中的单词?

时间:2011-08-28 17:42:42

标签: javascript jquery

例如,如果我有这样的形式:

  <form >
        <input type="text" name="name" id="my_input">
        <input id="search_tags" type="submit" value="Search">
  </form>

我写了'example'和'{1}}的'item'值将是'example item'。我如何用这样的书面文字构建:#my_input'

4 个答案:

答案 0 :(得分:4)

var combinedWord = "/" + $("#my_input").val().replace(/ /g, "-") + "/";

答案 1 :(得分:1)

用连字符替换所有空格:

var my_input_val = $('#my_input').val().replace(/\s/g, '-');

然后将正斜杠连接到两端:

var concat_my_input = '/' + my_input_val + '/';

.replace()是一个非常灵活的函数,可以与正则表达式或字符串匹配。有关详细信息,请参阅w3chools definition

答案 2 :(得分:1)

使用正则表达式..也许类似于value.replace(/ [^ \ w \ d] + / gi,' - ');它会替换任何不是数字或字母的内容......看起来就像你想要做的那样。

var value = "example item 2";
value.replace(/[^\w\d]+/gi, '-');

console.log(value) // will be example-item-2

value = '/' + value + '/';
console.log(value) // will be '/example-item-2/'

答案 3 :(得分:1)

如果您想为每个输入执行此操作,那么

var combinedWord;

$("input[type=text]").each(function()
{
combinedWord+=$(this).val();    //if space between different input is to be maintained then add .replace(' ', '-') here
});

return "/" + combinedWord + "/"; //if all spaces need to be replaced add .replace(' ', '-') here.