jquery正则匹配
jQuery 正则匹配方法
在jQuery中,正则表达式通常与JavaScript原生方法结合使用,因为jQuery本身并未提供专门的正则匹配API。以下是常见的实现方式:
字符串匹配示例
var text = "Example text 123";
var pattern = /\d+/; // 匹配数字
var isMatch = pattern.test(text); // 返回true
提取匹配内容
var email = "user@example.com";
var emailPattern = /([a-zA-Z0-9._-]+)@([a-zA-Z0-9.-]+)\.([a-zA-Z]{2,6})/;
var matches = email.match(emailPattern);
// matches[1] = "user", matches[2] = "example"
结合jQuery选择器的过滤
使用jQuery的filter()方法配合正则表达式:
$("input").filter(function() {
return /^[A-Z]/.test($(this).val()); // 筛选值以大写字母开头的输入框
});
表单验证应用
$("#form").submit(function(e) {
var phone = $("#phone").val();
if (!/^\d{10}$/.test(phone)) {
alert("请输入10位数字电话号码");
e.preventDefault();
}
});
常用正则模式
- 邮箱验证:
/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/ - URL验证:
/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ - 纯数字:
/^\d+$/ - 日期格式(YYYY-MM-DD):
/^\d{4}-\d{2}-\d{2}$/
替换字符串内容
var str = "jQuery 3.6.0";
var newStr = str.replace(/\d+/g, "X"); // 结果为"jQuery X.X.X"
注意事项
- 在jQuery事件处理中,正则表达式通常与
test()或exec()方法配合使用 - 动态构建正则时需用
new RegExp()构造函数 - 敏感字符需要转义,如
\.匹配实际点字符 - 全局匹配时注意
g标志的影响







