javascript多个空格进入输入值自修剪

时间:2014-09-26 23:00:59

标签: javascript html input space trim

我有这样的输入:

<input type="hidden" name="myName" value="John Fitzgerald          Kennedy      " />

当我使用Javascript阅读输入内容时:

var myName = document.getElementsByName("myName")[0].value;

myName的内容:"John Fitzgerald Kennedy ";

如何获取内容:"John Fitzgerald Kennedy "

我必须计算姓名和姓氏之间的固定字符,以找到姓氏并正确拆分两个单独的字符串。

谢谢!

2 个答案:

答案 0 :(得分:0)

您的内容包含多个空格。但是,如果您想在div之类的HTML节点中看到它,则需要用&nbsp;替换空格。但是在<pre>标记中,您不需要替换。

http://jsfiddle.net/ha9pt60v/4/

// myName is "John Fitzgerald          Kennedy      "
var myName = document.getElementsByName("myName")[0].value;

// in <pre>
document.getElementById('pre').innerHTML = myName;

// in another tag
document.getElementById('my').innerHTML = myName.replace(/ /g, '&nbsp;');

答案 1 :(得分:0)

如果我理解你的问题,这可能会有所帮助。尝试用单个' '字符替换字符串中的空格,并从字符串的开头和结尾修剪空格,如下所示:

var myName = document.getElementsByName("myName")[0].value.replace(/\s+/g,' ').trim();

之后,您可以解析字符串以提取给定的名称和姓氏,如此

var surname = myName.substring(myName.lastIndexOf(' '));
var givenName = myName.substring(0, myName.lastIndexOf(' '));

此链接有助于了解字符串操作:W3C String Reference