如何在更改时检查所有表单输入值中的单个正则表达式?

时间:2014-07-28 23:35:01

标签: jquery regex

我的目标是为任何输入以“.ca”结尾的电子邮件的人显示自定义信息的表单。这是合法的东西,所以如果他们在输入的形式输入中的任何地方都有一个单词/短语,即使它不是专用的电子邮件输入,也会在输入后立即触发“.ca”。

$( 'input[type="email"],input[type="text"]' ).bind('input propertychange', function(){
  if ( /.ca$/i.test(jQuery( 'input[type="email"]' ).val() ) {
    // do stuff
  }
});

上面的问题是它可以工作,但只有在第一个输入时,如果有多个输入与正则表达式测试找到的匹配。

我意识到我需要使用.each遍历所有元素,我不确定propertychange-on-bind如何最好地与.each一起使用。

1 个答案:

答案 0 :(得分:2)

无需循环。

由于您测试值的更改,您只需要检查当前元素

$( 'input[type="email"],input[type="text"]' ).bind('input propertychange', function(){
  if ( /\.ca$/i.test( this.value ) {
    // do stuff
  }
});