我对RegEx不是很了解,我正在努力学习。我继承了一个包含以下代码行的项目:
function findCourseIdFromForm(where) {
var matchRegex = /\[course-[0-9]*\]/;
var replaceRegex = /\[|\]|[a-z]|\-/g;
return $(".cnumber", where.parent()).attr("name").match( matchRegex )[0].replace( replaceRegex,"" );
}
我不完全确定这段代码试图做什么,但我知道这会导致我的页面出现问题。我正在使用jQuery验证器,这个特定的组件(“.cnumber”)导致验证失败,我不完全确定原因,所以对此行的一些见解表示赞赏。
HTML中的.cnumber字段如下所示:
<input type="hidden" name="courses[course-0][cnumber]" class="cnumber" />
答案 0 :(得分:1)
它会从标记中的name属性中删除[
,]
,小写字母和-
,大概是为了返回课程编号。
答案 1 :(得分:1)
它只是获得课程编号。在您的示例中,它返回0
答案 2 :(得分:1)
此函数接受where
节点,获取其父节点,在父节点中找到.cnumber
节点,然后取[course-0]
部分,最后删除所有[
,{{1} },]
和小写字母。
因此该函数返回-
部分之后的数字,如果没有数字则返回空字符串