我有这个输入:
<input class='name'></input>
假设我们输入的内容为:输入中的'John Doe Doo'。
如果我使用jQuery $('.name').val().split(' ')
并且输入末尾包含空格,jQuery会将其视为一个文本块。
另一个问题是我不知道如何获得第一个文本块然后另外两个或更多(并忽略最后的空格)。
我的最终结果应该是:
var name = Johh
var lname = Doe Doe
有什么想法吗?我尝试了$.trim
但没有成功。
答案 0 :(得分:2)
var split = $( '.name' ).val().split( ' ' );
var name = split[ 0 ];
var lname = split.slice( 1 ).join( ' ' );
答案 1 :(得分:1)
为了避免结尾处的空白区域,您可以使用trim()
var data=$('.name').val().trim();
分割它并获取fname和lname变量
var data=$('.name').val().trim();
var split=data.split(' ');
var fname=split[0];
var lname=split[1]+' '+split[2];
答案 2 :(得分:1)
使用split,然后重新组合数组:
var temp = $('.name').val().trim().split(' ');
var name = (temp.length ? temp[0] : '');
var lname = '';
if(temp.length>1) {
temp = temp.slice(1); // everything from index 1 onwards
lname = temp.join(' '); // rebuild the rest of the data.
}
结果:
name == "John"
lname == "Doh Doe"
答案 3 :(得分:1)
您可以使用下面给出的方法从开始和结束中删除空格。 假设你的字符串是
var testString= " Vishal Singh Gehlot ";
testString= testString.replace(/\s+$/, '');
然后像这样用空格分割这个字符串
var NewString = testString.split(' ');
var name = NewString[0];
var lname = NewString[1]+" "+NewString[2];
答案 4 :(得分:1)
var temp = $('.name').val().trim();
var firstSpace = temp.indexOf(' ');
// it will be the index of first space.
var firstName = temp.substring(0,firstSpace );
var lastName = temp.substring(firstSpace +1 ,temp.length);