1

我有这个代码

var message_regex = /^.{10,500}$/;

我希望用户输入最少的10字符,但是我输入的错误代码仍然显示多少字并不重要。如果我500从上面的代码中删除一切正常。我只想知道我的regex代码是否正常,还是我遗漏了什么?这是我的jquery代码regex

if(message == ""){
    $(".val_message").html("Please enter an inquiry").addClass('validate');
    validation_holder = 1;
} else {
    if(!message_regex.test(message)) {
        $(".val_message").html("Your message is too short please enter atleast 10 characters").addClass('validate');
        validation_holder = 1;
    } else {
    $(".val_message").html("");
    }
  }

另外,如果我将代码更改为

var message_regex   = /^.{5,500}$/;

如果我输入一个字符,它并不在乎。有什么问题?

4

3 回答 3

2

你真的需要正则表达式吗?此验证也可以这样完成:

// assuming ta is your textarea element
var maxlen = 500;
var minlen = 5;
if(ta.value.length > maxlen) { 
    $(".val_message").html("Enter at most " + maxlen + " characters in the textarea");
    ta.value = ta.value.substr(0, maxlen); 
}
else if(ta.value.length < minlen) { 
   $(".val_message").html("Enter at least " + minlen + " characters in the textarea");
}
于 2013-10-05T09:58:26.217 回答
1

我认为正则表达式应该是这样的

var messageregex = /^[A-Za-z0-9]{10}*$/
于 2013-10-05T10:01:20.630 回答
1

我发现了我的问题伙计们。我觉得好傻!!应该是凌晨三点吧​​。

<textarea id="message" class="cfMsg" name="message" placeholder="Your inquiry"></textarea>

我的问题是当name="message"name="name"改变它时我的正则表达式编码工作了:/对不起!感谢您的帮助,我从@anubhava 学到了一种新的方法

于 2013-10-05T10:09:12.673 回答