正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。搜索模式可用于文本搜索和文本替换。
语法 /正则表达式主体/修饰符(可选)
在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。
search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。 replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
搜索 “Runoob” 字符串将字符串中的 Microsoft 替换为 Runoob:
var str = "Visit Runoob!"; var n = str.search(/Runoob/i);//i 是一个修饰符 (搜索不区分大小写) // 6 var str = document.getElementById("demo").innerHTML; var txt = str.replace(/microsoft/i,"Runoob"); //Visit Runoob! //不用正则表达式 var str = "Visit Runoob!"; var n = str.search("Runoob"); var str = document.getElementById("demo").innerHTML; var txt = str.replace("Microsoft","Runoob");正则表达式表单验证实例:
/*是否带有小数*/ function isDecimal(strValue ) { var objRegExp= /^\d+\.\d+$/; return objRegExp.test(strValue); } /*校验是否中文名称组成 */ function ischina(str) { var reg=/^[\u4E00-\u9FA5]{2,4}$/; /*定义验证表达式*/ return reg.test(str); /*进行验证*/ } /*校验是否全由8位数字组成 */ function isStudentNo(str) { var reg=/^[0-9]{8}$/; /*定义验证表达式*/ return reg.test(str); /*进行验证*/ } /*校验电话码格式 */ function isTelCode(str) { var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/; return reg.test(str); } /*校验邮件地址是否合法 */ function IsEmail(str) { var reg=/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/; return reg.test(str); } /** * [reg 百度网盘链接匹配] * 说明:匹配支持百度分享的两种链接格式 * 格式一:链接: https://pan.baidu.com/s/15gzY8h3SEzVCfGV1xfkJsQ 提取码: vsuw 复制这段内容后打开百度网盘手机App,操作更方便哦 * 格式二:http://pan.baidu.com/share/link?shareid=179436&uk=3272055266 提取码: vsuw 复制这段内容后打开百度网盘手机App,操作更方便哦 * 匹配出下载地址和提取码,并且还支持如果没有提取码,也能匹配出下载链接。 * @type {正则表达式} * @return array 返回匹配成功的链接和地址 */ function baiduDownLinkArr( string ){ var reg = /([http|https]*?:\/\/pan\.baidu\.com\/[(?:s\/){0,1}|(share)]*(?:[0-9a-zA-Z?=&])+)(?:.+:(?:\s)*)?([a-zA-Z]{4})?/; console.log(reg.exec(string)); }