html-正则表达式的应用(每天都要学习噢)

正则表达式在html中主要用于表单验证,常见的表单验证有:必填项验证、长度验证、特殊内容格式验证、验证两个表单控件的值是否相等、电子邮箱的格式验证等等。

正则表达式在html中主要用于表单验证,常见的表单验证有:必填项验证、长度验证、特殊内容格式验证、验证两个表单控件的值是否相等、电子邮箱的格式验证等等。

1、正则表达式由两种基本字符类型组成:普通字符和元字符

  普通字符只能匹配字符串中与它们相同的字符,例如所有的字母和数字;

  元字符指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符在目标对象中的出现模式。例如^ $ . * + ? = ! : | \ / ( ) [ ] { } 


  普通字符:

字符匹配字符匹配
字母或数字自身对应的字母或数字\?一个?直接量
\f换页符\|一个|直接量
\n换行符\(一个(直接量
\r回车\)一个)直接量
\t制表符\[一个[直接量
\v垂直制表符\]一个]直接量
\/一个/直接量\{一个{直接量
\\一个\直接量\}一个}直接量
\.一个.直接量\XXX由十进制数XXX指定的ASCII码字符
\*一个*直接量\Xnn由十六进制数nn指定的ASCII码字符
\+一个+直接量\cX控制字符^X

元字符:

字符说明字符说明
[]用来匹配所包含字符集合中的任意一个字符\b回退(并删除)一个字符(Backspace)
.匹配除换行符以外的任意一个字符\f换页符
\w匹配任意一个字母或数字或下划线,等价于[0-9a-zA-Z]\n换行符
\W匹配除了字母或数字或下划线或汉字以外的任意一个字符,等价于[^0-9a-zA-Z]\r回车符
\s匹配任意一个空白符,等价于[\f\n\r\t\v]\t制表符(Tab键)
\S匹配任意一个空白字符,等价于[^\f\n\r\t\v]\v垂直制表符
\d匹配一个数字字符,等价于[0-9]或[0123456789]*重复0次或更多次
\D匹配一个非数字字符,等价于[^0-9]或[^0123456789]+重复一次或更多次
\b匹配单词的开始或结束?重复0次或1次
^匹配字符串的开始{n}重复n次
$匹配字符串的结束{n,}重复n次或更多次
  {n,m}重复n到m次

2、正则表达式用 / 标记开始和结束

3、修饰符

  修饰符标记位于表达式之外,格式为:/pattern/flags

  g 修饰符:可以查找字符串中所有的匹配项(区分大小写)

i 修饰符:不区分大小写匹配

m 修饰符:可以使 ^ 和 $ 匹配一段文本中每行的开始和结束位置

我们看一下加m和不加m的区别:



  s修饰符:默认情况下的圆点 . 是 匹配除换行符 \n 之外的任何字符,加上 s 修饰符之后, . 中包含换行符 \n


我们举个例子吧:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>正则表达式</title>
<script>
// 电信号规则:
// 长度11位
// 号段前三个数字是133、153、180、181、189
window.onload=function(){
var mobileArr=["13312345678","13712345678","18012345678", "189123456789","1531234567","181123456789"];
var pattern=/^1[35]3\d{8}|18[019]\d{8}$/;
document.write("手机号列表如下:<br>");
for(i=0;i<mobileArr.length;i++){
document.write(mobileArr[i]+"<br>");
}
document.write("<br>符合电信手机号规则的列表如下:<br>");
for(i=0;i<mobileArr.length;i++){
if(pattern.test(mobileArr[i]))
document.write(mobileArr[i]+"<br>");
}
}
</script>
</head>
<body>

运行页面为:



  • 发表于 2021-04-07 16:09
  • 阅读 ( 778 )
  • 分类:测试开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
anne
anne

7 篇文章

作家榜 »

  1. admin 10 文章
  2. anne 7 文章
  3. joelee 2 文章
  4. chenchen 1 文章
  5. CJ777 1 文章
  6. harry 1 文章
  7. AlLTyjrDKb 0 文章
  8. virmMUTzPANJXY 0 文章