Javascript - 在变量字符串中捕获名称

时间:2013-05-12 21:37:58

标签: javascript

我想抓住一个人的名字。该名称将输入文本框,例如:

我的名字是罗伯特,或者我的名字是罗伯特等。

我不知道实际名称会在哪里掉落,但是因为介绍单词等。

我在想这样的事情。

  1. 我搜索“我的名字是”
  2. 我在数组中捕获它
  3. 我拆分数组
  4. 我现在知道实际名称如下:
  5.   

    namesParts[0] - 将是“我的”

         

    namesParts[1] - 将是“名字”

         

    namesParts[2] - 将是“是”

         

    namesParts[3] - 将是我正在寻找的名字。

    或许类似下面的东西,但这不起作用。

    if (input.search("my name is")!= -1) {
        var names = input.match(/my name is/);
        var namesParts = names.split(' '); 
        var one = namesParts[3];
        document.result.result.value = "Ok your name is "+one+".";
        return true;
    }
    

2 个答案:

答案 0 :(得分:1)

如果所有其他单词都以小写字母开头,您可以使用

'my name is Robert'.match(/[A-Z]+\w*/);

,否则

'My name is Robert'.match(/my name is (\S+)/i);

答案 1 :(得分:0)

Check JavaScript String.split方法。

示例:

var str="my name is Robert";
var n=str.split('my name is ');
alert('1. Length: '+n.length +' Array: '+ n);

var str="my name is Robert";
var n=str.split(' ');
alert('2. Length: '+n.length +' Array: '+ n);

var str="my name is Robert";
var n=str.split('');
alert('3. Length: '+n.length +' Array: '+ n);

实例:http://jsfiddle.net/a4D8q/