[英]What exactly is this jQuery / Regex snippet doing?
我对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
此函数采用where
节点,获取它的父,认定.cnumber
父节点内,然后采取[course-0]
部分和最后去除所有[
, ]
, -
和小写字母。
因此该函数返回位于[course-
part之后的数字;如果没有数字,则返回空字符串
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.