JavaScript Regex (строка должна включать только альфу, пробел, дефис)

Я пытаюсь создать регулярное выражение, которое будет соответствовать только тогда, когда в строке есть что угодно, кроме альфа, пробелов и дефис. Другими словами, строка может содержать только буквы, пробелы и дефисы.

Ответы

Ответ 1

Если вы ищете тест на достоверность:

// from string start to end, only contains '-' "whitespace" or 'a'-'z' 
someString.match(/^[-\sa-zA-Z]+$/) 

Или отрицание:

// has some invalid character not '-' "whitespace" or 'a'-'z'
someString.match(/[^-\sa-zA-Z]/) 

Ответ 2

if(someString.match(/[a-z -]+/i){
    // it valid
}