2012-06-13 6 views
1

Я пытаюсь клонировать поля ввода с помощью JS и увеличивать их id и name, поэтому я могу проверить их. Вот пример:Соответствие RegEx для имени ввода

<input type="text" id="work_company0" name="work[0][company]" /> 
<input type="text" id="work_company1" name="work[1][company]" /> 

<input type="text" id="work_title0" name="work[0][title]" /> 
<input type="text" id="work_title1" name="work[1][title]" /> 

Так что для id, регулярное выражение будет:

/^(.*)(\d)+$/i 

Для id="work_company1", результаты матча в ["work_company1", "work_company", "1"] и создать новый идентификатор с помощью match[1] + newID (work_company2).

. Будет ли регулярное выражение для name, чтобы получить аналогичный ответ?

ответ

1

ли вы имеете в виду это?

var s = 'work[1][title]'; 
var r = /\w+\[(\d+)\]\[(\w+)\]/; 
var m = s.match(r); 

// in m variable m[1] is id and m[2] is name 

надеюсь, что это имеет смысл.

+0

Соответствие идентификатора привело к ["work_title1", "work_title", "1"], а затем я использовал m [1] + newID, чтобы получить новый ID (work_title2). Этот результат совпадает с ["work [1] [title]", "1", "title"]. Есть ли способ получить ["work [1] [title]", "work [", "] [title]"], чтобы я мог вставить там новый идентификатор? – Norbert

+0

Выяснил это. Это/(\ w + \ [) (\ d +) (\] \ [\ w + \])/So для работы [1] [title], результат совпадения в ["work [1] [title]", "work ["," 1 ","] [название] "] - Спасибо! – Norbert

1

попробовать этот

ID или NAME

\b(?:id|name)="[^\"]+" 

проверки [NAME]

\b(?:name)="work\[\d+\]\[company\]" 
Смежные вопросы