admin管理员组

文章数量:1335363

I use a javascript test with regex for numbers, letters and underscore. I want to change the regex to regex for letters, numbers, spaces and dash. But how?

re = /^\w+$/; 
if(!re.test(form.username.value)) { 
    alert("Username must contain only letters, numbers and underscores. Please try again"); 
    form.username.focus();
    return false; 
}

I use a javascript test with regex for numbers, letters and underscore. I want to change the regex to regex for letters, numbers, spaces and dash. But how?

re = /^\w+$/; 
if(!re.test(form.username.value)) { 
    alert("Username must contain only letters, numbers and underscores. Please try again"); 
    form.username.focus();
    return false; 
}
Share Improve this question edited Feb 1, 2014 at 19:11 pwolaq 6,38120 silver badges45 bronze badges asked Feb 1, 2014 at 19:02 Jilco TigchelaarJilco Tigchelaar 2,1498 gold badges32 silver badges55 bronze badges
Add a comment  | 

4 Answers 4

Reset to default 13

How about this?

/^[0-9A-Za-z\s\-]+$/
/^[\w\d\s-]+$/
  • ^ from beginning
  • \w letters
  • \d digits
  • \s space
  • and then the - (dash)
  • ^wrapping in [ ] matches any character within
  • $ to the end

Try this:

re = /^[a-zA-Z0-9-\s]*$/;
if(!re.test(form.username.value)) { 
    alert("Username must contain only letters, numbers and dashes. Please try again"); 
    form.username.focus();
    return false; 
}
  const reg = /^(?!.*\.\.)(?!.*\.$)[^\W][\w.\s\-']{2,200}$/gim;
  const regStatus = reg.test(value);
  return regStatus ? value : undefined;

本文标签: javascript use test with regex for lettersnumbersspaces and dashStack Overflow