正则表达式允许单词字符,括号,空格和连字符

时间:2013-04-08 15:27:46

标签: javascript regex

我正在尝试在javascript中使用正则表达式验证字符串。该字符串可以包含:

  • 字符
  • 括号
  • 空间
  • 连字符( - )
  • 3到50长

这是我的尝试:

function validate(value, regex) {
    return value.toString().match(regex);
}

validate(someString, '^[\w\s/-/(/)]{3,50}$');

1 个答案:

答案 0 :(得分:5)

像这样编写你的验证器

function validate(value, re) {
  return re.test(value.toString());
}

并使用此正则表达式

/^[\w() -]{3,50}$/

一些测试

// spaces
validate("hello world yay spaces", /^[\w() -]{3,50}$/);
true

// too short
validate("ab", /^[\w() -]{3,50}$/);
false

// too long
validate("this is just too long we need it to be shorter than this, ok?", /^[\w() -]{3,50}$/);
false

// invalid characters
validate("you're not allowed to use crazy $ymbols", /^[\w() -]{3,50}$/);
false

// parentheses are ok
validate("(but you can use parentheses)", /^[\w() -]{3,50}$/);
true

// and hyphens too
validate("- and hyphens too", /^[\w() -]{3,50}$/);
true