2017-04-04 62 views
1

誰能告訴我爲什麼我的字符串不修剪。我有這樣的代碼:腳本字符串不修剪

firstName = $('#form-create-user #first_name').val().trim().toLowerCase(); 
lastName = $('#form-create-user #last_name').val().trim().toLowerCase(); 

var initials = firstName.match(/\b\w/g) || []; 
initials = ((initials.shift() || '') + (initials.pop() || '')).toLowerCase(); 
username = initials.concat(lastName); 

$('#form-create-user #username').val(username); 

我想用戶名從firstnamelastname產生,期待胡安德拉產生jdela

但輸出例如:

enter image description here

+1

'.replace(/ \ s + /,「」)'應該可以工作(正則表達式可以刪除所有空格) – user3441151

+1

@deceze爲什麼這個問題是離題的?有足夠的代碼來重現該問題,因此它是正確的... – Mistalis

+0

@Mistalis「Trim」具有特定的含義,並且此代碼「修剪」就好了。 OP沒有具體說明他們期望會發生什麼。 – deceze

回答

2

W3Schools來自:

trim()方法從刪除空格的字符串的兩側。

它不會刪除空格裏面的一個字符串。


您可以使用此正則表達式來達到目的:

lastName = $('#form-create-user #last_name').val().replace(/\s/g, '').toLowerCase(); 

注意這個表達式中刪除所有空白字符(包括標籤和新線)。

1

修剪將刪除尾隨和前導空格之間沒有空格。

使用

firstName = $('#form-create-user #first_name').val().trim().toLowerCase().replace(/ /g, "") 

代替