欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS正则表达式常见函数与用法小结

程序员文章站 2022-03-08 14:15:09
本文实例讲述了js正则表达式常见函数与用法。分享给大家供大家参考,具体如下:search()使用正则表达式//使用正则表达式搜索 "runoob" 字符串,且不区分大小写var str = "visi...

本文实例讲述了js正则表达式常见函数与用法。分享给大家供大家参考,具体如下:

search()使用正则表达式

//使用正则表达式搜索 "runoob" 字符串,且不区分大小写
var str = "visit runoob!"; 
var n = str.search(/runoob/i);

search() 方法使用字符串

search 方法可使用字符串作为参数。字符串参数会转换为正则表达式:

var str = "visit runoob!"; 
var n = str.search("runoob");
//输出
6

replace() 方法使用正则表达式

//使用正则表达式且不区分大小写将字符串中的 microsoft 替换为 runoob :
var str = document.getelementbyid("demo").innerhtml; 
var txt = str.replace(/microsoft/i,"runoob");

replace() 方法使用字符串

replace() 方法将接收字符串作为参数:

var str = document.getelementbyid("demo").innerhtml; 
var txt = str.replace("microsoft","runoob");

正则表达式修饰符

修饰符 可以在全局搜索中不区分大小写:

修饰符 描述
i 执行对大小写不敏感的匹配。
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m 执行多行匹配。

使用 test()

test() 方法是一个正则表达式方法。

test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。

以下实例用于搜索字符串中的字符 "e":

var patt = /e/;
patt.test("the best things in life are free!");

字符串中含有 "e",所以该实例输出为:

true 

可以不用设置正则表达式的变量,以上两行代码可以合并为一行:

/e/.test("the best things in life are free!")

使用 exec()

exec() 方法是一个正则表达式方法。

exec() 方法用于检索字符串中的正则表达式的匹配。

该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。

以下实例用于搜索字符串中的字母 "e":

/e/.exec("the best things in life are free!"); 

字符串中含有 "e",所以该实例输出为:

e

正则表达式表单验证实例:

/*是否带有小数*/
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);
}

ps:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

javascript正则表达式在线测试工具:

正则表达式在线生成工具: