jquery正则匹配
jQuery 正则匹配方法
jQuery 本身并未直接扩展正则功能,但可通过 JavaScript 原生正则表达式结合 jQuery 选择器实现匹配操作。以下是常见应用场景:
使用 test() 方法验证字符串
通过正则表达式直接测试字符串是否符合规则:
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/;
var isValid = emailPattern.test("user@example.com"); // 返回 true 或 false
结合 filter() 筛选元素
使用正则匹配筛选符合特定规则的 DOM 元素:
$("input").filter(function() {
return /^[0-9]+$/.test($(this).val()); // 筛选仅含数字的输入框
}).addClass("numeric");
属性选择器配合正则
通过 [attribute*=value] 等选择器实现部分匹配(非完整正则):
$("a[href*='example.com']") // 选择 href 包含 "example.com" 的链接
字符串替换操作
使用 replace() 方法结合正则进行动态替换:
var text = "jQuery 3.6.0";
var version = text.replace(/jQuery (\d+\.\d+\.\d+)/, "$1"); // 提取版本号
表单验证示例
验证输入框内容是否符合手机号格式:

$("#submit-btn").click(function() {
var phoneRegex = /^1[3-9]\d{9}$/;
if (!phoneRegex.test($("#phone").val())) {
alert("手机号格式错误");
return false;
}
});
注意事项
- jQuery 的
:contains()选择器仅支持文本匹配,不支持正则表达式 - 复杂匹配建议优先使用原生 JavaScript 正则对象(
RegExp) - 动态生成正则时需注意转义字符,例如
new RegExp("\\d+")






