У меня есть сценарий входа, где шаблон ввода выглядит следующим образом:Регулярное выражение регулярное выражение шаблон в JavaScript для входов с запятыми
var location = /^[a-z]+\s*[a-z]*,\s*[a-z]+\s*([^,]?[a-z]+)*$/i;
Мой вход в следующих разрешенных типов:
- Los Анджелес, Калифорния
- Лос-Анджелес, Калифорния (имеет место (ы) между струнной текстом)
- Лос-Анджелес, Калифорния, США
- Лос-Анджелес, Калифорния, США (имеет место (а) между струнной текстом)
- Лос-Анджелес, Калифорния, США (имеет место (а) между струнной текста и, возможно, после окончания текста)
Ниже типы входных (те, с дополнительными, не проходя тест:
- Лос-Анджелес, Калифорния, США
- Лос-Анджелес, Калифорния, США (имеет место (а) между струнной текстом)
- Los Angeles, CA, USA (имеет пробелы между строковым текстом и, возможно, после окончания текст)
Может ли кто-нибудь сказать мне, что я здесь делаю неправильно? Любая помощь будет оценена! Благодаря!
И да, я новичок в регулярном выражении и js.
Полный код, используемый для тестирования:
if (str.match(locationstring)){
console.log("Match pattern str!");
type = 2;
}else{
alert("No match str!");
return;
}
Try '/^[\ s \ S] +, [\ s \ S] + ([^, ]? [\ s \ S] +) * $/'и посмотреть, работает ли это для вас – megawac