我正在尝试在javascript中使用正则表达式验证字符串。该字符串可以包含:
这是我的尝试:
function validate(value, regex) {
return value.toString().match(regex);
}
validate(someString, '^[\w\s/-/(/)]{3,50}$');
答案 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