为什么我的jquery没有用'-'
替换所有空格。它只用'-'
$('.modhForm').submit(function(event) {
var $this = $(this),
action = $this.attr('action'),
query = $this.find('.topsearchbar').val(); // Use val() instead of attr('value').
if (action.length >= 2 && query.length >= 2 && query.lenght <=24) {
// Use URI encoding
var newAction = (action + '/' + query.replace(' ','-'));
console.log('OK', newAction); // DEBUG
// Change action attribute
$this.attr('action', newAction);
} else {
console.log('To small to be any good'); // DEBUG
// Do not submit the form
event.preventDefault();
}
});
答案 0 :(得分:30)
答案 1 :(得分:3)
试试这个:
var str = 'a b c';
var replaced = str.split(' ').join('-');
答案 2 :(得分:2)
它是:“if(action.length&gt; = 2&amp;&amp; query.length&gt; = 2&amp;&amp; query.length &lt; = 24){”
不:“if(action.length&gt; = 2&amp;&amp; query.length&gt; = 2&amp;&amp; query.lenght &lt; = 24){”
答案 3 :(得分:1)
使用regular expression替换所有出现次数:
query.replace(/\ /g, '-')
答案 4 :(得分:1)
您可以尝试自定义功能
COL1 COL2 COL4 COL5 COL3
BRCC hete 15869 105A 1
BRAC he 1799967 956G 1
BCAS he 7334543 369AFVC 2
RCA he 9534262 7806-14 4
RCA he 144848 1114A 5
RA he 206118 52A 5
BCAVV he 543304 3807TCD 5
BCA hoo 106091515 4308TDDSC 1
BCA hoo 206075 4563A 1
BCA hoo 799917 2612CDSA 1
BCA hoo 206076 513G 2
BCA hoom 16941 3113A 3
答案 5 :(得分:0)
试试这个
query.replace(/ +(?= )/g,'-');
如果您的查询为undefinied
或NaN
答案 6 :(得分:0)
替换所有空格(包括制表符,空格......):
query.replace(/\s/g, '_');
答案 7 :(得分:0)
String.prototype.replace
仅在第一个参数为字符串时才替换第一个。要替换所有出现的事件,您需要将全局正则表达式作为第一个参数传递。
replace
...
要执行全局搜索和替换,请在正则表达式中包含g开关,或者如果第一个参数是字符串,请在flags参数中包含g。
其他人已经展示了许多适用于“空间”定义的正则表达式。