javascript从文本字段中获取逗号分隔或单个值

时间:2011-07-28 01:04:33

标签: javascript regex

我想要的是,我有一个没有最大长度的文本字段。

它可以包含单个文本或逗号分隔文本。我想得到一个正则表达式,或者方式来满足单个或逗号分隔值并删除co​​mmma,如果它是在最后一个文本之后并最终将结果放在javascript数组中。

示例:

  • 场景#1:Textfield:abcdef
  • 场景#2:Textfield: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>

由于

1 个答案:

答案 0 :(得分:2)

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

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

在您的代码中:

> alert("splitted: "splitted);

应该是:

 alert("splitted: " + splitted);

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

应该是:

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

javascript:部分被视为无用标签。