JavaScript正则表达式和级联效果

发布时间 - 2026-01-11 03:15:38    点击率:

1、正则表达式(regular expression)

是一种字符串匹配的模式,用来检查一个字符串中是否包含指定模式的字符串。

2、正则表达式的创建

var reg = /white/;
var reg = new RegExp("white","g");

3、正则表达式的修饰符

g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
i 不区分大小写
m 多行匹配

4、正则表达式符号

方括号:方括号用于查找某个范围内的字符:

[abc]   查找方括号之间的任何字符。
[^abc]  查找任何不在方括号之间的字符。
[0-9]   查找任何从 0 至 9 的数字。
[a-z]   查找任何从小写 a 到小写 z 的字符。
[A-Z]   查找任何从大写 A 到大写 Z 的字符。
[A-z]   查找任何从大写 A 到小写 z 的字符。
[adgk]  查找给定集合内的任何字符。
[^adgk] 查找给定集合外的任何字符。
(red|blue|green)    查找任何指定的选项。

元字符:元字符(Metacharacter)是拥有特殊含义的字符:

/…/ 代表一个模式的开始和结束
^   匹配字符串的开始
$  匹配字符串的结束
\s  任何空白字符
\S  任何非空白字符
\d  匹配一个数字字符,等价于[0-9]
\D  除了数字之外的任何字符,等价于[^0-9]
\w  匹配一个数字、下划线或字母字符,等价于[A-Za-z0-9_]
\W  任何非单字字符,等价于[^a-zA-z0-9_]
.   除了换行符之外的任意字符

正则表达式重复字符(量词)

{n} 匹配前一项n次
{n,}    匹配前一项n次,或者多次
{n,m}   匹配前一项至少n次,但是不能超过m次
*   匹配前一项0次或多次,等价于{0,}
+   匹配前一项1次或多次,等价于{1,}
?   匹配前一项0次或1次,也就是说前一项是可选的,等价于{0,1}

5、RegExp对象的属性

global RegExp对象是否具有标志g,它声明了给定的正则表达式是否执行全局匹配。

ignoreCase RegExp对象是否具有标志i,它声明了给定的正则表达式是否执行对大小写不敏感的匹配。

multiline RegExp对象是否具有标志m,它声明了给定的正则表达式是否执行多行匹配。

6、RegExp对象的方法

1、exec  检索字符中是正则表达式的区配,返回找到的值,并确定其位置

exec()

exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。

例子 1:

var patt1=new RegExp("e"); document.write(patt1.exec("The best things in life are free")); 由于该字符串中存在字母 "e",以上代码的输出将是:
e

2、test  检索字符串中指定的值,返回true或false

test()

test() 方法检索字符串中的指定值。返回值是 true 或 false。

例子:

var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free")); 由于该字符串中存在字母 "e",以上代码的输出将是:
True

7、分析(邮箱验证) var reg=/^\w+@\w+.[a-zA-Z]{2,3}(.[a-zA-Z]{2,3})?$/;

//正则表达式创建
^ 字符串开始
$字符串结束
\w任意字符字母和数字,下划线
+ 表示前一个字符出现{1,},一次或多次。
@ 普通字符串
\w  任意字符串 ddd@123
. 除了换行符之外的任意字符  ddd@123.
[a-zA-Z]  ddd@123.c   ddd@123.n
{2,3} ddd@123.com  ddd@123.net  ddd@123.tv
(.[a-zA-Z]{2,3})? ddd@123.com.cn  ddd@123.net

常用正则:

    用户名正则:/^[a-zA-Z][a-zA-Z0-9]{3,15}$/
    密码正则:/^[a-zA-Z0-9]{4,10}$/
    生日正则:/^((19\d{2})|(200\d))-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/
    Email正则:/^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/
    邮政编码:/^\d{6}$/
    手机号码:/^1\d{10}$/

8、String对象的方法

match 找到一个或多个正则表达式的匹配
search 检索与正则表达式相匹配的值
replace 替换与正则表达式匹配的字符串
split 把字符串分割为字符串数组
9、select对象常用事件、方法和属性.

1、事件    onchange    当改变选项时调用的事件

2、方法    add()   向下拉列表中添加一个选项

    示例:

 var province=document.getElementById("selProvince").value; 
  var city=document.getElementById("selCity");
  city.options.length=0; 
  switch(province){
   case "河南省":
    city.add(new Option("郑州市","郑州市"),null);
    city.add(new Option("洛阳市","洛阳市"),null);
   break;
    …… 
  } 

3、属性:

    options[]   返回包含下拉列表中的所有选项的一个数组
    selectedIndex   设置或返回下拉列表中被选项目的索引号
    length  返回下拉列表中的选项的数目

    示例:

 function get(){
   var index=document.getElementById("fruit").selectedIndex;
   var len=document.getElementById("fruit").length;
   var show=document.getElementById("show");
   show.innerHTML="被选选项的索引号为:"+index+"<br/>下拉列表选项数目为:"+len;
  }

4、Option对象常用属性:

    text:设置或返回某个选项的纯文本值
    value:设置或返回被送往服务器的值

10、数组常用的属性和方法。

属性  length  设置或返回数组中元素的数目

方法:

    join( ) 把数组的所有元素放入一个字符串,通过一个的分隔符进行分隔
    sort( ) 对数组的元素进行排序

****读取二维数组中的元素值:

var cityList = new Array();
 cityList['河北省'] = ['邯郸市','石家庄市'];
 cityList['河南省'] = ['郑州市','洛阳市'];
 cityList['湖北省'] = ['武汉市','宜昌市'];
 for(var i in cityList){
  document.getElementById("show").innerHTML+=i+"<br/>"; 
 }
  for(var j in cityList){
  for(var k in cityList[j]){
  document.getElementById("show").innerHTML+=cityList[j][k]+"&nbsp;&nbsp;”;
 }
 document.getElementById("show").innerHTML+="<br/>“; }

总结

以上所述是小编给大家介绍的JavaScript_正则表达式和级联效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# js  # 正则表达式  # 级联效果  # JS 密码强度校验的正则表达式(简单且好用)  # JavaScript正则表达式替换字符串中图片地址(img src)的方法  # js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法分析  # js正则表达式实现数字每隔四位用空格分隔代码  # JS经典正则表达式笔试题汇总  # JavaScript正则表达式校验非零的正整数实例  # 利用js正则表达式校验正数、负数、和小数  # JS判断输入的字符串是否是数字的方法(正则表达式)  # js实现三级联动效果(简单易懂)  # Vue.js 2.0中select级联下拉框实例  # 洛阳市  # 郑州市  # 河南省  # 列表中  # 下划线  # 将是  # 小编  # 宜昌市  # 邯郸市  # 返回值  # 组中  # 石家庄市  # 武汉市  # 是一种  # 湖北省  # 第一个  # 多个  # 换行符  # 河北省 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何自定义分页视图?(Pagination示例)  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  php结合redis实现高并发下的抢购、秒杀功能的实例  如何在宝塔面板中创建新站点?  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  Bootstrap整体框架之CSS12栅格系统  Python3.6正式版新特性预览  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  非常酷的网站设计制作软件,酷培ai教育官方网站?  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  Laravel怎么清理缓存_Laravel optimize clear命令详解  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  Python高阶函数应用_函数作为参数说明【指导】  简历没回改:利用AI润色让你的文字更专业  微信小程序 配置文件详细介绍  网站制作壁纸教程视频,电脑壁纸网站?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  如何在腾讯云免费申请建站?  专业商城网站制作公司有哪些,pi商城官网是哪个?  iOS中将个别页面强制横屏其他页面竖屏  Linux系统运维自动化项目教程_Ansible批量管理实战  Windows Hello人脸识别突然无法使用  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  Android GridView 滑动条设置一直显示状态(推荐)  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  Laravel如何使用Telescope进行调试?(安装和使用教程)  奇安信“盘古石”团队突破 iOS 26.1 提权  南京网站制作费用,南京远驱官方网站?  如何登录建站主机?访问步骤全解析  如何在IIS7上新建站点并设置安全权限?  高端建站三要素:定制模板、企业官网与响应式设计优化  如何利用DOS批处理实现定时关机操作详解  如何基于PHP生成高效IDC网络公司建站源码?  linux写shell需要注意的问题(必看)  如何快速搭建个人网站并优化SEO?  JavaScript如何实现继承_有哪些常用方法  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  如何在新浪SAE免费搭建个人博客?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  独立制作一个网站多少钱,建立网站需要花多少钱?  如何快速上传自定义模板至建站之星?