使用正则表达式和jQuery从输入字段中提取字符串

时间:2011-07-16 14:14:52

标签: javascript jquery expression match

我尝试使用正则表达式/[1-9][a-zA-Z]/匹配输入字段中的字符串,并使用jQuery将其插入<p>标记。

我在jQuery API文档中修改了this示例,以包含以下if语句。当我在输入字段中键入“1A”时,它可以工作,但我想排除字符串的其余部分,以便<p>仅包含匹配的字符串部分。

    $("input").keyup(function () {

            if($(this).val().match(/[1-9][a-zA-Z]/)){
               var value = $(this).val();
            };

      $("p").text(value);
    }).keyup();

我清楚地解释了吗?有人能指出我正确的方向吗?

非常感谢,

1 个答案:

答案 0 :(得分:0)

因此,您在上面的代码中所做的是,如果输入字段的值与正则表达式匹配,则将其值分配给<p>标记。因为,您希望将匹配的字符串分配给<p>标记,您应该执行以下操作:

$("input").keyup(function () {
        var match = $(this).val().match(/[1-9][a-zA-Z]/);
        if(match){
           var value = match[0]; // Your problem was here
        };

  $("p").text(value);
}).keyup();

match的{​​{1}}方法返回包含匹配项的数组(如果匹配则为String,如果匹配失败。