例如,如果我有这样的形式:
<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'
?
答案 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.