Warunkowe renderowanie z JavaScript Regex

Muszę dopasować ciąg, taki jak ten:

'if Country equals "United States" then Show'

Pracuję z modułem Webforms for Marketers w Sitecore. Sitecore to system CMS oparty na platformie .NET. Moduły Webforms for Marketers to moduł udostępniający GUI dla programistów, którzy mogą projektować formularze z polami tekstowymi, listami rozwijanymi, polami wyboru itp. opcja w poprzednim polu. Na przykład: wyświetl listę rozwijaną Stany tylko wtedy, gdy użytkownik wybrał opcję „Stany Zjednoczone” z listy rozwijanej Kraj. Problem polega na tym, że moduł WFFM nie obsługuje warunkowych renderingów pól, więc próbuję go zaimplementować za pomocą JavaScript. Mój pomysł jest następujący:

Zbuduję formularz w module ze wszystkimi możliwymi polamiPo załadowaniu strony użyję JavaScript, aby ukryć pola, które zależą od wartości poprzednich pólGdy użytkownik wchodzi w interakcję z polem, uruchomię JavaScript, aby sprawdzić wartość pola i określić, czy powinienem pokazać jedno lub więcej pól, które ukryłem na stronie ładowania.

W zasadzie piszę tłumacza dlaif komunikat; Daję marketerom sposób „zaprogramowania” formularza.Country to nazwa listy rozwijanej na mojej stronie.equals jest warunkiem."United States" jest jedną z wartości na liście rozwijanej. Jeśli użytkownik wybierzeUnited States na liście rozwijanejthen Show rozwijana lista stanów.

Zatem dane wejściowe do testu wyrażeń regularnych zawsze będą zgodne z tym formatem:

zawsze zaczyna się od słowa kluczowegoifpo którym następuje 1 lub więcej białych spacjipo której następuje dowolna liczba cyfr i / lub liter i / lub białych spacjiNazwa kontrolek może zawierać więcej niż jedno słowo ze spacjami i liczbami parzystymiNa przykład: Imię lub Linia adresu 1po którym następuje 1 lub więcej białych spacjipo którym następuje słowo kluczoweequalspo którym następuje 1 lub więcej białych spacjinastępnie 1 podwójny cytatpo której następuje dowolna liczba cyfr i / lub liter i / lub białych spacjiWartość kontrolki może zawierać więcej niż jedno słowo ze spacjami i liczbami parzystyminastępnie 1 podwójny cytatpo którym następuje 1 lub więcej białych spacjipo którym następuje słowo kluczowethenpo którym następuje słowo kluczoweShow lub słowo kluczoweHide

Mam to, co działa, ale to nie wszystkie wymagania, które wymieniłem powyżej. Ta linia pasuje aż do białej spacji po nazwie kontrolki.

var pattern = /^if\s+(\d*|\w*)\s+.*$/;

Ale kiedy próbuję dopasować podwójny cytat, nie działa; Naprawdę nie znam składni dopasowywania w cudzysłowie. Wypróbowałem wszystkie poniższe elementy, żaden nie działa:

var pattern = /^if\s+(\d*|\w*)\s+["].*$/;

var pattern = /^if\s+(\d*|\w*)\s+\".*$/;

var pattern = /^if\s+(\d*|\w*)\s+\"{1}.*$/;

Każda pomoc, którą możesz udzielić, zostanie bardzo doceniona!

questionAnswers(2)

yourAnswerToTheQuestion