文章目录

  • 自定义字符串校验函数
  • 常用正则表达式

自定义字符串校验函数

校验字符串是否全由数字组成,是则返回true,否则返回false:

function isDigit(str) {var regExp = /^[0-9]{1,20}$/;// exec方法如果找到符合正则表达式的字符串,返回一个数组对象,否则返回nullif (!regExp.exec(str)) return false;return true;
}

欲了解正则表达式对象的方法 exec() 如何使用,请参阅《JavaScript(JS)中与正则表达式有关的方法介绍》。

匹配以英文字母开头,由英文字母、数字、“.”、“_”中的任意 5~20 个字符组成的字符串:

function isRegisterUserName(s) {
var regExp = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}

匹配由 1~30 个英文字母组成的字符串:

function isTrueName(s) {
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}

匹配由6~20个任意非空白字符组成的字符串:

function isPasswd(s) {   var patrn=/^(\S){6,20}$/;   if (!patrn.exec(s)) return false
return true
}

检验用户输入的身份证号码是否符合要求:

function check_card(){$('idCard').className = '';$('card_msg').innerHTML = '';var reg = /^\d{15}$|^\d{17}([0-9]|X|x)$/;if(!reg.test($F('idCard'))){$('card_msg').innerHTML = '格式不正确';$('idCard').className = 's2';return false;}return true;
}

常用正则表达式

业务需求 正则表达式 说明
用户名 /^[a-z0-9_-]{3,16}$/ 匹配由 3 个到 16 个英文小写字母、数字、下划线、连接线中的任意字符组成的字符串;匹配小写英文字母、数字、下划线以及连接线中的任意一个字符,可以匹配 3 到 16 次,也就是至少匹配 3 次,最多匹配 16 次;匹配小写英文字母、数字、下划线以及连接线中的任意 3 个到 16 个字符;匹配小写英文字母、数字、下划线以及连接线中的 3 个到 16 个任意字符。两个正斜杠之间的内容才是正则表达式,正斜杠 / 只是用来标记表达式的首尾而已,类似于双引号的作用,有些地方并不使用 / 来标记正则式的首尾,而是使用双引号 "" 来标识首尾,所以 / 并没有实际的意义。
用户名 /^[a-zA-Z]{1,30}$/ 匹配 1 个到 30 个英文字母
用户名 /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/ 匹配以英文字母开头,由英文字母、数字、“.”、“_”中的任意 5~20 个字符组成的字符串
密码 /^(\S){6,20}$/ 匹配由6~20个任意非空白字符组成的字符串。这是密码常用的规则
密码 /^[^\f\n\r\t\v]{6,18}$//^\S{6,18}$/ 匹配除了换页符、换行符、空白符、制表符、回车符以外的任意 6 个到 18 个字符。这是密码常用的规则
密码 /^[a-z0-9_-]{6,18}$/ 匹配小写英文字母、数字、下划线、连字符中任意 6 个到 18 个字符组成的字符串;匹配 6 个到 18 个小写英文字母、数字、下划线、连字符中任意字符组成的字符串。这样的密码规则不常用
密码 /(?!^[0-9]+$)(?!^[A-z]+$)(?!^[^A-z0-9]+$)^[^\s\u4e00-\u9fa5]{6,16}$/ 使用了顺序否定环视,表示匹配一个非全部是数字,非全是英文字母,且包含至少 1 个英文字母或者包含至少 1 个数字,由 6 个到 18 个除了空白字符和汉字以外的任意字符组成的字符串。这样的密码规则更加严谨。
电子邮箱 /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/ @之前的部分,匹配小写英文字母、数字、下划线、半角句点以及连接线中的任意1个或多个字符;@和半角句点之间的部分,匹配数字、小写英文字母、英文句点以及连接线中的任意1个或多个字符;@之后的部分,匹配小写英文字母和英文句点中的任意2个到6个字符
电子邮箱 /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/ 这个匹配地更加精准
电子邮箱 /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/ 这个比较宽松
URL /^(https?:\/\/)?([0-9a-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ https?,是指 ? 前的 s 可有可无,(https?:\/\/)? 是指 http:// 或者 https:// 可有可无。要注意,\d 本是一个元字符,放在 [] 内就会变成普通字符 d,如果写成 \\d,则表示匹配 \d,换句话说如果要使用 \d 元字符的含义,不能放在方括号 []
URL /^https?://([\w-]+.)+[\w-]+(/[\w-./?%&=]*)?$/ sed ‘s/[\w]/liao/g’ test/text.txt
IP 地址 /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/
IP 地址 /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
HTML 标签 /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/
查找注释内容 (?<!http:|\S)//.*$ 这是个逆序否定环视表达式,用来匹配注释部分的字符串,即匹配代码的注释部分 ,标识 // 的前面不能有 http: ,也不能有非空白字符 \S,并且结尾紧跟行尾 $,这样的字符串才能匹配成功
Unicode 编码中的汉字范围 /^[\u2E80-\u9FFF]+$/ 用来查找匹配整行的汉字
汉字 ^[\u4e00-\u9fa5]{1,}$ [\u4e00-\u9fa5] 表示任意一个汉字字符,整个正则式表示匹配 1 个或者多个任意汉字,并且匹配到的汉字既在行首又在行尾
手机号码 (\+86)?1\d{10} + 是个特殊字符需要转义才能被视为一个普通字符,所以前面加个 \(\+86)? 表示 +86 可有可无,即 0 个或者 1 个;\d{10} 匹配10个任意数字,匹配任意的10个数字
身份证 /^\d{15}$|^\d{17}([0-9]|X|x)$/

JavaScript(JS)常用正则表达式汇总相关推荐

  1. JS常用正则表达式和JS控制输入框输入限制(数字、汉字、字符)

                                   JS常用正则表达式和JS控制输入框输入限制(数字.汉字.字符) 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数 ...

  2. PHP常用正则表达式汇总 [复制链接]

    PHP常用正则表达式汇总 [复制链接] 上一主题下一主题   离线我是小猪头 法师 发帖 539 加关注 发消息 只看楼主 倒序阅读 使用道具楼主  发表于: 2011-06-22 更多 - 本帖被 ...

  3. 收集的JS常用正则表达式等

    //   短日期,形如 (2003-12-05) function strDateTime(str) { var r = str.match(/^(d)(-│/)(d)2(d)$/); if(r==n ...

  4. 收集的JS常用正则表达式等(转载)

    //   短日期,形如 (2003-12-05)  function strDateTime(str)  {  var r = str.match(/^(d)(-│/)(d)2(d)$/);  if( ...

  5. JS常用正则表达式及其语法

    正则表达式是一种描述文本模式的对象,可以用某种模式去匹配一类字符串. 在JavaScript中,正则表达式通过RegExp对象来表示,RegExp对象可以使用RegExp()构造函数来创建,但更多是通 ...

  6. js 正则或_Web前端工程师要知道的JS 常用正则表达式

    说起正则表达式,相信从事web前端开发的人一定很熟悉,正则表达式通常被用来检索.替换那些符合某个模式(规则)的文本,是web前端开发中经常会用到的.今天,就为大家分享JS常用的正则表达式以及创建正则表 ...

  7. JS常用正则表达式表单验证代码大汇总

    正则表达式使用详解 简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.其作用如下: 测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或 ...

  8. JavaScript(JS)常用的正则表达式

    只能输入数字:"^[0-9]*$" 只能输入 n 位的数字:"^\d{n}$" 只能输入至少 n 位的数字:"^\d{n,}$" 只能输入 ...

  9. Javascript常用正则表达式汇总

    2019独角兽企业重金招聘Python工程师标准>>> 匹配数字和字符串 整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$ 只能输入数字:"^[0-9]*$ ...

最新文章

  1. 【 FPGA 】FIR 滤波器之固定分数率重采样滤波器
  2. 笔记-高项案例题-2018年下-项目管理-项目集管理-项目组合管理
  3. Google推出Web开发利器:App Engine
  4. Logtail从入门到精通(三):机器分组配置
  5. java min 函数的使用方法_【Python】Java程序员学习Python(五)— 函数的定义和使用...
  6. 容器编排技术 -- Kubernetes kubectl rollout undo 命令详解
  7. php url路径问题和php文件以绝对路径引入
  8. optparse命令解析模块
  9. 34. 丑数(C++版本)
  10. 【转】mysql createtable errno 121 150 错误 建表错误 外键
  11. 关于Excel导入SqlServer报错的解决
  12. 黑马乐优商城项目资源分享
  13. python控制步进电机驱动器_怎样用树莓派和L298N电机驱动器模块控制步进电机
  14. AXI总线 详细整理
  15. spark another attempt succeeded
  16. 【小月电子】ALTERA FPGA开发板系统学习教程-LESSON1点亮LED灯
  17. day2 标识符 字面值 变量 数据类型
  18. MYSQL登录错误:mysqladmin: connect to server at 'localhost' failed acess denied for user 'root'@'localhos
  19. AIR780E使用AT连接TCP收发数据
  20. 递归算法的时间复杂度计算

热门文章

  1. junit junit_JSON的JUnit Hamcrest Matcher
  2. cloudwatch_将CloudWatch Logs与Cloudhub Mule集成
  3. java 编写代码_如果您在2015年编写过Java代码-这是您不容错过的趋势
  4. java 观察者模式示例_观察者设计模式示例
  5. optional空值判断_Java 8 Optional不仅用于替换空值
  6. fork join框架_Fork / Join框架vs.并行流vs.ExecutorService:最终的Fork / Join基准
  7. ejb生命周期_无状态EJB:池化和生命周期
  8. Java 9:对Process API的增强
  9. 使用AWS使Spring Boot应用程序无服务器运行
  10. 返回CompletableFuture:Java 8功能亮点