2017-04-04 54 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, "") 

代替