2011-05-06 236 views
0

我想执行一些检查,但REGEX我只是不明白。 我想先检查3个字符,然后再检查是否有数字字符。代码如下,最后可能有一个答案是正则表达式语法在每种语言中都是一样的吗?与jquery正则表达式

$(document).ready(function() { 
    var name=$('#firstname'); 
    function validateName() { 
     //function nameCheck() { 
     if (name.val().length <=2) { 
      name.addClass('error'); 
      $(".hidden_f").html("First Name must be 3 letters!"); 
     } else if ($("#firstname.").val().match('[a-z]')) { 
      $(".hidden_f").html("No numbers!");  
     } 
    } 
    name.keyup(validateName); 
}); 

而且如果可能的话,可能有人给我几个例子,所以我可以尝试学习正则表达式的欢呼!

+1

总是看看其他问题:http://stackoverflow.com/questions/345194/regular-expression-matching-in-jquery。 – 2011-05-06 22:52:07

回答

0

首先,你似乎有选择$("#firstname.")错误应该读$("#firstname")

至于正则表达式 - 3个字母(不含数字),您可以使用match(/[a-zA-Z]{3}/)

2

有正则表达式的一些稍微不同的口味,但大多数情况下,RegExp在每种语言中都是相同的,只是存在细微差异。

我认为这是对正则表达式的最佳资源:http://www.regular-expressions.info/

它的包装与文章和例子,确实是一个了不起的网站。

要使用3个或更多字符,没有数字字符匹配一个词组,你可以使用

var re = /[^0-9]{3,}/i 

这应该工作。

+0

fromcomment:“要执行检查,确认没有数字字符” – 2011-05-06 22:55:54

1

你传递的是一个字符串,而不是一个正则表达式作为匹配的参数,所以它试图将字符串中的序列按原样加工。正则表达式由/或用新正则表达式(转义字符串)创建。另外,如果你不需要匹配,你应该使用regexp.test(input)来代替。