我对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" />
最佳答案
此函数采用where
节点,获取其父级,在父级中找到.cnumber
节点,然后采用[course-0]
部分,最后删除所有[
,]
,-
和小写字母。
因此该函数返回[course-
部分后的数字,如果没有数字则返回空字符串