Я пару часов чесал голову, пытаясь найти регулярное выражение, которое найдет все строки, которые следуют шаблону: строчные или прописные буквы, цифры и символы .
:
'
"
/
и -
.
Мое текущее регулярное выражение:
var patt = new RegExp("[^a-zA-Z0-9:.\"/'-]+");.
Для контекста, вот как оно используется при проверке формы в JavaScript:
var quote = document.forms["myForm"]["quote"].value;
var quoteWordCount = quote.trim().split(/\s+/).length;
var patt = new RegExp("[^a-zA-Z0-9:.\"/'-]+");
var quoteResult = patt.test(quote);
if (quote.length < 2) {
alert("quote can't be less than 2 characters");
return false;
}
if (quoteWordCount < 4) {
alert("Your quote must contain 4 or more words.");
return false;
}
if (quoteResult) {
alert("Please enter a valid quote.");
return false;
}
Прямо сейчас, по какой-то причине он отвергает каждую отдельную строку, которую я ему даю, как те, которые он должен отклонять, так и те, которые он не должен. Например, он отклонит:
«Здравствуйте, коллеги-программисты»
, а также отклонит:
«Hello << >>там !! коллеги программисты. "