정규식 레지스트리 확인 및 일반적으로 사용되는 일부 확인 예제 공유

零下一度
풀어 주다: 2023-03-14 07:34:01
원래의
1891명이 탐색했습니다.

正则表达式看起来好像是一大推符号组成的,让人很是头大,我想信很多人刚来时看的时候头疼,我也是的。但是不学又不行,这个是很重要的东西,今天就在这里个大家总结了一些分享正则表达式注册表验证和一些常用的校验实例。

正则表达式

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

正则表达式目的

1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);

2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。

正则表达式的特点是

1.灵活性、逻辑性和功能性非常的强;

2.可以迅速地用极简单的方式达到字符串的复杂控制;

3.对于刚接触的人来说,比较晦涩难懂。

吾尝终日而思矣 不如须臾之所学也,所以学习这个要持之以恒。

注册表验证

1.获取id

function $(id){
  return document.getElementById(id);
}
로그인 후 복사

2.验证姓名


function checkName(){
  //获取值
  var username=$('user').value;
  //判断不能为空
  if(username==''){
    $('s1').innerHTML='用户名不能为空';
    return false;
  }
  //正则表达式
  var reg=/^[a-zA-Z][a-zA-Z0-9]{4,9}$/;
  //检测输入内容是否匹配正则表达式
  if(!reg.test(username)){
    $('s1').innerHTML='用户名必须是5-10位数字或字母组成,开头不能是数字';
    return false;
  }
  //匹配,返回空
    $('s1').innerHTML='';
    return true;
}
로그인 후 복사

备注:s1为判断提示内容,添加在输入框后

3.验证密码


function checkPwd(){
  //获得值
    同上…
  //判断不能为空
    同上…
  //正则表达式
  var reg=/^\S{6,}$/;
  //检测输入内容是否匹配正则表达式
  if(reg.test(password)==false){
    $('s2').innerHTML='密码必须是6位以上';
    return false;
  }
  //匹配,返回空
    同上…
}
로그인 후 복사

4.验证邮箱


function checkEmail(){
  //获得值
    同上…
  //判断不能为空
    同上…
  //正则表达式
  var reg=/^\w+@\w+\.com|cn|net$/;      
  //检测输入内容是否匹配正则表达式
  if(!reg.test(email)){
    $('s3').innerHTML='邮箱不合法';
    return false;
  }
  //匹配,返回空
    同上…
}
로그인 후 복사

5.验证手机号


function checkTel(){
  //获得值
    同上…
  //判断不能为空
    同上…
  //正则表达式
  var reg=/^1[34578]\d{9}$/;     
  //检测输入内容是否匹配正则表达式
  if(!reg.test(tel)){
    $('s4').innerHTML='手机号码不合法';
    return false;
  }
  //匹配,返回空
    同上…
}
로그인 후 복사

6.验证身份证号

function checkCid(){
  //获得值
    同上…
  //判断不能为空
    同上…
  //正则表达式
  var reg=/^\d{15}$|^\d{17}\d|x$/;     
  //检测输入内容是否匹配正则表达式
  if(!reg.test(cid)){
    $('s5').innerHTML='身份证不合法';
    return false;
  }
  //匹配,返回空
    同上…
}
로그인 후 복사

7.验证QQ号

function checkQQ(){
  //获得值
    同上…
  //判断不能为空
    同上…
  //正则表达式
  var reg=/^[1-9]\d{7,10}$/;     
  //检测输入内容是否匹配正则表达式
  if(!reg.test(qq)){
    $('s6').innerHTML='QQ必须是8到11数字组成,开头不能是0';
    return false;
      }
  //匹配,返回空
    同上…
}
로그인 후 복사

8.检测所有条件

function checkAll(){
  if(checkName()&&checkPwd()&&checkEmail()&&checkTel()&&checkCid()&&checkQQ()){
    return true;
  }else{
    return false;
  }
}
로그인 후 복사

常用的正则表达式校验

  1. 校验密码强度

密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。

/^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/
로그인 후 복사

2. 校验中文

字符串仅能是中文。

/^[\\u4e00-\\u9fa5]{0,}$/
로그인 후 복사

3. 由数字、26个英文字母或下划线组成的字符串

/^\\w+$/
로그인 후 복사

4. 校验E-Mail 地址

同密码一样,下面是E-mail地址合规性的正则检查语句。

/[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?/
로그인 후 복사

5. 校验身份证号码

下面是身份证号码的正则校验。15 或 18位。

15位:

/^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$/
로그인 후 복사

18位:

 /^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$/
로그인 후 복사

6. 校验日期

“yyyy-mm-dd“格式的日期校验,已考虑平闰年。

 /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/
로그인 후 복사

7. 校验金额

金额校验,精确到2位小数。

/^[0-9]+(.[0-9]{2})?$/
로그인 후 복사

8. 校验手机号

下面是国内 13、15、18开头的手机号正则表达式。(可根据目前国内收集号扩展前两位开头号码)

/^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d{8}$/
로그인 후 복사

9. 判断IE的版本

IE目前还没被完全取代,很多页面还是需要做版本兼容,下面是IE版本检查的表达式。

/ ^.*MSIE[5-8](?:\\.[0-9]+)?(?!.*Trident\\/[5-9]\\.0).*$/
로그인 후 복사

10. 校验IP-v4地址

IP4 正则语句。

/\\b(?:(?: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]?)\\b/
로그인 후 복사

위 내용은 정규식 레지스트리 확인 및 일반적으로 사용되는 일부 확인 예제 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿