我有一个文本字段,我在其中编写员工的全名。我想检索第一个单词作为名字,最后一个单词作为姓,其余中间字符串作为中间名。例如。对于将字符串拆分为3个子字符串jquery/javascript
ramesh suresh mahesh roshan
名字应该是ramesh
,中间名suresh mahesh
和姓氏为roshan
。
有没有什么办法可以使用jquery/javascript来做到这一点?请帮忙!
我有一个文本字段,我在其中编写员工的全名。我想检索第一个单词作为名字,最后一个单词作为姓,其余中间字符串作为中间名。例如。对于将字符串拆分为3个子字符串jquery/javascript
ramesh suresh mahesh roshan
名字应该是ramesh
,中间名suresh mahesh
和姓氏为roshan
。
有没有什么办法可以使用jquery/javascript来做到这一点?请帮忙!
这里有一个方法
string.split(" ")
基于空间的字符串。然后通常,
0
个指标 - 代表名字(last - 1)
个指标 - 代表姓氏iterating the remaining index and concatenating
彼此。var name = "ramesh suresh mahesh roshan";
var d = name.split(" ")
console.log("first Name : " + d[0]);
console.log("Last Name : " + d.length != 1 ? d[d.length -1] : "");
var mid = "";
for (var i = 1; i <= d.length - 2; i++) {
mid = mid + " " + d[i];
}
console.log("middle name: " +mid);
这可能做的伎俩
<script>
function getnam(){
var val = $("#txtval").val();
var dssr = val.split(" ");
var len = dssr.length;
alert("First Name:" + dssr[0]);
var mn = "";
if(len>2){
for(var i=1;i<len-1;i++){
mn= mn + " " + dssr[i];
}
}
alert("Middle Name:" + mn);
if(len>1){
alert("Last Name:" + dssr[len-1]);
}
}
</script>
<input type="text" id="txtval"/>
<input type="button" onclick="getnam()" />
下面的代码将帮助您
var temp = 'ramesh suresh mahesh roshan';
var fullname = temp.split(" ");
var firsname='';
var middlename='';
var lastname = '';
firstname=fullname[0];
lastname=fullname[fullname.length-1];
for(var i=1; i < fullname.length-1; i++) {
middlename = middlename +" "+ fullname[i];
}
alert(firstname);
alert(middlename);
alert(lastname);
有了这个:
var fullName = "ramesh suresh mahesh roshan",
parts = fullName.split(/\s+/), //Divide by one or more spaces
firstName = parts.shift(), //Extract first word
lastName = parts.pop() || '', //Extract last word
middleName = parts.join(' '); //All the rest
编辑:加入|| ''
回退用于lastName的的情况下,全名仅具有1个字(以及,主要用于paranoic审阅XD)
干杯)
*只是为了让你知道*你需要包含一个条件语句到姓氏,否则它会失败的“ramesh”http: //jsfiddle.net/fFPkx/5/ – Praveen
JavaScript String split() function
split()方法用于将字符串拆分为一个子字符串数组,并返回新的数组。
var str = "ramesh suresh mahesh roshan";
var res = str.split(" ");
RE的结果将是与该值的数组:
ramesh,suresh,mahesh,roshan
定义:用于将字符串分割为多个子阵列的分割()方法,并返回新阵列。
提示:如果使用空字符串(“”)作为分隔符,则字符串将在每个字符之间分割。
注意: split()方法不会更改原始字符串。
语法:string.split(separator,limit)
参数值:
回答你的问题:
正如很多人已经给了这么多的正确答案还是我想从我的最终给予一定的光。
基于JavaScript的答案
function fnStringSplitter(fullName,separator){
var mName = ""; //Middle Name
var splittedArr = fullName.split(separator);
for (var i = 1; i <= splittedArr.length - 2; i++) {
mName = mName + " " + splittedArr[i];
}
alert("First Name : " + splittedArr[0]);
alert("Middle Name : " + mName);
alert("Last Name : " + splittedArr[splittedArr.length - 1]);
}
去调用函数:fnStringSplitter("ramesh suresh mahesh roshan"," ");
输出: 3警报与第一,中间名和姓。
划分规则是什么 –
假设你将数据库值存储在一个var x(数组)中,你可以用'var x = x.split(“”); var a = x1 [0];我可以看到像''''这样的东西,所以a = ramesh,b = suresh ... d = roshan –
var b = x [1]; var c = x [2]; var d = x [3] ramesh suresh mahesh roshan'.match(/(。*?)\ s(。*)\ s(。*)/)' –