2011-07-28 38 views
0

我想要在这里得到的是,我有一个没有最大长度的文本字段。javascript从文本字段获取逗号或单个值

它可以有单个文本或逗号分隔的文本。我想得到一个正则表达式,或者如何处理单个或逗号分隔值,并删除co​​mmma,如果它位于最后一个文本之后并最终将结果放入JavaScript数组中。

实施例:

  • 场景#1:文本字段:ABCDEF
  • 方案#2:文本字段:ABCD1,werwe23,hfghf,2345,sedwe
  • 场景#3:文本字段:ABCD1,werwe23, hfghf,2345,sedwe,(用户错误)。

这是我的示例代码,目前为止这些代码都是用逗号代替的。

与正则表达式的建议将有助于我的事业。

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
      <html> 
      <head> 
      <title> Get values </title> 
      <meta name="Generator" content="EditPlus"> 
      <meta name="Author" content=""> 
      <meta name="Keywords" content=""> 
      <meta name="Description" content=""> 
      <script type="text/javascript"> 
      function getValues() 
      { 
      var val = document.getElementById("txtInput").value; 
      var splitted = val.split(','); 
      alert("splitted: "splitted); 
      } 
      </script> 
      </head> 

      <body> 
      <input type="text" id="txtInput"/> 
      <input type="button" onclick="javascript:getvalues();" value="get values"/> 
      </body> 
      </html> 

感谢

回答

2

使用正则表达式来删除分割之前的任何尾随逗号或空格:

val = val.replace(/[,\s]+$/, ''); 

在您的代码:

> alert("splitted: "splitted); 

应该是:

alert("splitted: " + splitted); 

> <input ... onclick="javascript:getvalues();" ... /> 

应该是:

<input ... onclick="getvalues();" ... > 

javascript:部分读作usless标签。

+0

非常感谢Rob的建议和时间,非常感谢。我试了一下,似乎在工作,如果我有任何问题,我会回到这里或问一个新的问题。 – Nomad