2012-08-27 19 views
12

thể trùng lặp:
jQuery/Javascript replace <space> in anchor link with %20Làm thế nào tôi có thể thay thế Space với% 20 trong javascript

Tôi nhận sParameter như thế này:

sParameter = document.getElementById('ddParameterType').value;

Nếu tôi nhận từ như "Test - Text" làm mục ddParameterType
sau đó tôi đang thay thế các không gian trong chữ như dưới đây:

sParameter = document.getElementById('ddParameterType').value.replace("","%20");

nhưng trở về của nó một Valur như %20Test - Text.
Tôi cần như Test%20-%20Text.

ai cũng có thể trợ giúp.

+0

có encodeURI: http://stackoverflow.com/a/853872/14955 – Thilo

+0

Tôi xin lỗi, tôi không thể hiểu được sự cần thiết của bạn để mã hóa dữ liệu người dùng. Bất cứ ai có thể giúp tôi hiểu lý do cho điều này? – shahkalpesh

Trả lời

39
sParameter = encodeURIComponent(sParameter.trim()) //"Test%20-%20Text" 

các .trim sẽ loại bỏ hàng đầu và dấu khoảng trắng từ chuỗi. encodeURIComponent sẽ mã hóa URL.

+0

thanks Đối với câu trả lời của bạn – SDLBeginner

+0

giải pháp này hoạt động trong IE và các trình duyệt khác. cảm ơn –

1

Sử dụng sau đây thay vì để thay thế tất cả lần xuất hiện:

document.getElementById('ddParameterType').value.replace(/ /g, "%20"); 

Hoặc tốt hơn yet:

encodeURIComponent(document.getElementById('ddParameterType').value); 
6
sParameter = encodeURIComponent(sParameter.trim()) 
+0

Lưu ý rằng điều này không chỉ là nhiều khoảng trống ... https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent Nhưng đó có lẽ là một điều tốt. – phyatt

Các vấn đề liên quan