jquery 正则
jQuery 正则表达式应用
jQuery 本身并不直接提供正则表达式功能,但可以通过 JavaScript 的原生正则表达式(RegExp)结合 jQuery 的方法来实现字符串匹配、替换等操作。
正则表达式基础语法
JavaScript 中正则表达式有两种创建方式:
- 字面量形式:
/pattern/flags - 构造函数形式:
new RegExp("pattern", "flags")
常用标志(flags):
i:不区分大小写g:全局匹配m:多行匹配
jQuery 结合正则的常见场景
1. 表单验证 通过正则验证输入内容是否符合要求:
$("#submitBtn").click(function() {
var email = $("#email").val();
var emailRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/;
if (!emailRegex.test(email)) {
alert("请输入有效的邮箱地址");
return false;
}
});
2. 字符串替换
使用 replace() 方法结合正则:
var text = "jQuery is great, jQuery is fast";
var newText = text.replace(/jQuery/gi, "JavaScript");
console.log(newText); // "JavaScript is great, JavaScript is fast"
3. 过滤或筛选元素
通过 filter() 方法匹配元素属性或内容:
$("div").filter(function() {
return $(this).text().match(/error/i);
}).addClass("error-highlight");
常用正则表达式示例
匹配数字
var numRegex = /^\d+$/;
匹配 URL
var urlRegex = /^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*\/?$/;
匹配日期(YYYY-MM-DD)
var dateRegex = /^\d{4}-\d{2}-\d{2}$/;
动态生成正则表达式
通过 RegExp 构造函数动态构建正则:

var searchTerm = "jQuery";
var dynamicRegex = new RegExp(searchTerm, "i");
$("p").each(function() {
if (dynamicRegex.test($(this).text())) {
$(this).css("background", "yellow");
}
});
注意事项
- 正则表达式中的特殊字符(如
.,*,?)需要使用\转义。 - 在构造函数形式中,由于字符串转义的存在,可能需要双重转义(如
\\d代表数字)。 - 复杂的正则表达式可拆分为多个简单正则,或使用在线工具(如 RegExr)测试。
通过结合 jQuery 的 DOM 操作和 JavaScript 的正则表达式,可以高效处理文本匹配、验证和替换任务。






