Check whether a string matches a regex in JS

后端 未结 11 2167
余生分开走
余生分开走 2020-11-22 12:02

I want to use JavaScript (can be with jQuery) to do some client-side validation to check whether a string matches the regex:

^([a-z0-9]{5,})$
11条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-11-22 12:31

    You can use match() as well:

    if (str.match(/^([a-z0-9]{5,})$/)) {
        alert("match!");
    }
    

    But test() seems to be faster as you can read here.

    Important difference between match() and test():

    match() works only with strings, but test() works also with integers.

    12345.match(/^([a-z0-9]{5,})$/); // ERROR
    /^([a-z0-9]{5,})$/.test(12345);  // true
    /^([a-z0-9]{5,})$/.test(null);   // false
    
    // Better watch out for undefined values
    /^([a-z0-9]{5,})$/.test(undefined); // true
    

提交回复
热议问题