꼭 마스터해야 할 JS 정규식
这篇文章主要介绍了JS常用正则表达式,总结分析了常见的数字、字符、邮箱、身份证、电话等的正则验证技巧,需要的朋友可以参考下
本文实例讲述了JS常用正则表达式。分享给大家供大家参考,具体如下:
在项目中个人写的一个常用验证的正则表达式:(仅供参考)
//定义两个全局变量 var reg; var errorInfo; //输入的数字类型必须是int型,正负整数都可以 function validate_integer(text,value){ reg=/^[-\+]?\d+$/; errorInfo=text+" "+value+" 只能是整数,请核实重新输入!"; verifyByReg(value,reg,errorInfo); } //输入的数字类型必须是double型,保留的小数位数只能是2位,可以为正负 function validate_double(text,value){ reg=/^[-\+]?([1-9](\d+)?|0)(\.\d{2})$/; errorInfo=text+" "+value+" 只能保留2为小数,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //输入的必须是全是数字类型型,不能出现其他字符 function validate_number(text,value){ reg=/^\d+$/; errorInfo=text+" "+value+" 只能是数字,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //验证输入n位的数值类型 function validate_number_n(text,value,n){ reg=eval("/^\\d{"+n+"}$/"); errorInfo=text+" "+value+" 只能是"+n+"位数字,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //验证有两位小数的正实数 function validate_decimal_two(text,value){ reg=/^([1-9](\d+)?|0)(.[0-9]{2})?$/; errorInfo=text+" "+value+" 只能是保留2位小数的正数,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //验证非零的正整数 function validate_number_positive(text,value){ reg=/^\+?[1-9][0-9]*$/; errorInfo=text+" "+value+" 只能是非0的正整数,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //验证非零的负整数 function validate_number_negative(text,value){ reg=/^[-][1-9][0-9]*$/; errorInfo=text+" "+value+" 只能是非0的负整数,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //验证非负整数,可以为0 function validate_positive_haszero(text,value){ reg=/^[1-9](\d+)?|0$/; errorInfo=text+" "+value+" 只能是是0或正整数,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //验证非正整数,可以为0 function validate_negative_haszero(text,value){ reg=/^\-[1-9](\d+)?|0$/; errorInfo=text+" "+value+" 只能是是0或负整数,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //验证非负浮点数(正浮点数 + 0) function validate_float_notnegative(text,value){ reg=/^([1-9](\d+)?|0)(\.\d+)|0$/; errorInfo=text+" "+value+" 只能是是0或正浮点数,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //验证正浮点数 function validate_float_positive(text,value){ reg=/^([1-9](\d+)?|0)(\.\d+)$/; errorInfo=text+" "+value+" 只能是正浮点数,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //非正浮点数(负浮点数 + 0) function validate_float_notpositive(text,value){ reg=/^\-([1-9](\d+)?|0)(\.\d+)|0$/; errorInfo=text+" "+value+" 只能是是0或者负浮点数,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //验证负浮点数 function validate_float_negative(text,value){ reg=/^\-([1-9](\d+)?|0)(\.\d+)$/; errorInfo=text+" "+value+" 只能是负浮点数,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //验证正浮点数多少位小数 function validate_float_posbit(text,value,n){ reg=eval("/^(\\d+)(\\.\\d{"+n+"})$/"); errorInfo=text+" "+value+" 只能是"+n+"位正浮点数,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //验证负浮点数多少位小数 function validate_float_negbit(text,value,n){ reg=eval("/^(-?\\d+)(\\.\\d{"+n+"})$/"); errorInfo=text+" "+value+" 只能是"+n+"位负浮点数,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //校验文本是否为空 function checknull(text,value){ if(value=="" || typeof(value)=='undefined'){ errorInfo=text+" "+value+" 不能为空,请重新输入!"; returnInfo(errorInfo); } } //验证由26个英文字母组成的字符串 function validate_string_letter(text,value){ reg=/^[A-Za-z]+$/; errorInfo=text+" "+value+" 只能是26位不区分大小写的英文字母组成,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //验证由26个英文字母的大写组成的字符串 function validate_string_bigletter(text,value){ reg=/^[A-Z]+$/; errorInfo=text+" "+value+" 只能是26位大写的英文字母组成,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //验证由26个英文字母的小写组成的字符串 function validate_string_smallletter(text,value){ reg=/^[a-z]+$/; errorInfo=text+" "+value+" 只能是26位小写的英文字母组成,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //验证由数字和26个英文字母组成的字符串 function validate_string_number(text,value){ reg=/^[A-Za-z0-9]+$/; errorInfo=text+" "+value+" 只能是数字和26个英文字母组成,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //验证由数字、26个英文字母或者下划线组成的字符串 function validate_string_numberandunderline(text,value){ reg=/^\w+$/; errorInfo=text+" "+value+" 只能是数字、26个英文字母或者下划线组成,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //验证邮箱 function validate_email(value){ reg=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/; errorInfo='邮箱 '+value+" 无效,请重新输入"; verifyByReg(value,reg,errorInfo); } //验证时如果选择默认调用此方法 金额类型,可以是正整数或保留4位有效数字的正整数 /**有问题 function validate_money_default(text,value){ var reg=/^\d+(\.\d{4})?$/; var errorInfo=text+" "+value+" 只能是正整数或保留4位有效数字,请核实重新输入"; verifyByReg(value,reg,errorInfo); } **/ //验证输入的只能是中文 function validate_chinese(text,value){ reg=/^[\u4e00-\u9fa5]+$/; errorInfo=text+" "+value+" 只能是中文字符,请重新输入"; verifyByReg(value,reg,errorInfo); } //验证输入的只能是n位的中文 function validate_bitchinese(text,value,bit){ reg=eval("/^[\\u4e00-\\u9fa5]{"+bit+"}$/");alert(reg); errorInfo=text+" "+value+" 只能是"+bit+"位中文字符,请重新输入"; verifyByReg(value,reg,errorInfo); } //跟最大的值比较,此方法是看数字是否超出系统的上限 function thanMax(text,number,max){ if(number>max){ errorInfo=text+" "+number+" 不能大于"+max+",请重新输入"; returnInfo(errorInfo); } } //跟最小的值比较,此方法是看数字是否低于系统的下限 function thinMin(text,number,min){ if(number<min){ errorInfo=text +" "+number+" 不能小于"+min+",请重新输入"; returnInfo(errorInfo); } } //输入文本的字符串是否在系统的指定长度内 function isLimit(text,value,length){ var arr=value.split(""); if(arr.length>length){ errorInfo=text +" "+value+" 字符过长,请输入最多"+length+"位字符"; returnInfo(errorInfo); } } //邮政编码的验证 function validate_zipcode(value){ reg=/[1-9]\d{5}(?!\d)/; errorInfo='邮政编码 '+value+" 有误,请核实重新输入"; verifyByReg(value,reg,errorInfo); } //对数值类型的数据进行简单的验证和转换,因为在设置的时候没有传入这个参数的话就会出现js代码错误,所以应该对数值型的数据进行转换 //非空字符的判定 function getZeroByNull(text,value){ errorInfo=text+" "+value+" 不能为空,请核实重新输入"; if(value==null||value==''||value=='undefined'){ returnInfo(errorInfo); } } //身份证验证,分为了两种,15位和18位 function validate_IdCard(value){ var size=value.split(""); if(size.length==15){ reg=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;//15位身份证验证 errorInfo='位身份证号码 '+value+" 有误,请核实重新输入"; }else if(size.length==18){ reg=/^[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|x)$/;//18位身份证验证 errorInfo='位身份证号码 '+value+" 有误,请核实重新输入"; }else{ errorInfo="请输入合法的身份证号码!"; returnInfo(errorInfo); } verifyByReg(value,reg,errorInfo); } //每个验证都需要调用此方法 function verifyByReg(value,reg,errorInfo){ if(value!=''&®!=''){ var regExp = new RegExp(reg); if(!regExp.test(value)){ alert(errorInfo); throw errorInfo; } } } //不进过正则表达式验证,只需要返回信息,适合内部调用此方法 function returnInfo(message){ alert(message); throw message; } //许可证号 生产企业的格式:QS 1234 2346 3456 其中空格可有可无 ///经营企业许可证的格式为: 湘010249 但是中国的省会简称可能会有三个字的,所以中文可以定义为1-3个 function validate_license(value,type){ if(type==1){ reg=/^[a-zA-Z]{2}[ ]?(\d{4}[ ]?\d{4}[ ]?\d{4})$/;//生产企业许可证号 errorInfo="生产许可证号 "+value+" 有误,请核实重新输入!"; }else if(type==2){ reg=/^[\u4e00-\u9fa5]{1,3}\d{6}$/; errorInfo="经营许可证号 "+value+" 有误,请核实重新输入!"; } verifyByReg(value,reg,errorInfo); } //传真 可以匹配的字符串如:+123 -999 999 ; +123-999 999 ;123 999 999 ;+123 999999等 function validate_fax(value){ reg=/^([+]{0,1})?\d{1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; errorInfo="传真 "+value+" 有误,请重新输入!"; verifyByReg(value,reg,errorInfo); } //电话号码可以输入:电话或者手机 其中手机号码可以是(+86)、(86)+号码,也可以是号码 电话的号码可以是区号+号码 区号-号码 号码 function validate_tel(value){ reg=/(^(0\d{2,3}([-|+])?)?\d{7}$)|(^(\d{3,4}([-|+])?)?\d{7,8}$)|(^([+]?(86)?[+]?)1[3-9]\d{9}$)/; errorInfo='电话号码 '+value+" 有误,请核实重新输入!"; verifyByReg(value,reg,errorInfo); } //日:大于0小于等于31的正整数 function validate_day(value){ reg=/(^[0]?[1-9]$)|(^[1-2]\d$)|(^[3][0-1]$)/; errorInfo='日期 '+value+" 有误,请核实重新输入!"; verifyByReg(value,reg,errorInfo); } //月:合法月份 function validate_month(value){ reg=/(^[0]?[1-9]$)|(^[1][0-2]$)/; errorInfo='月份 '+value+" 有误,请核实重新输入!"; verifyByReg(value,reg,errorInfo); } //年:合法年份 在这里合法的年份为公元1000年至公元2999年 function validate_year(value){ reg=/^[1-2]\d{3}$/; errorInfo='年份 '+value+" 有误,请核实重新输入!"; verifyByReg(value,reg,errorInfo); } //百分比:合法百分比(0-100之前的数字) function validate_percentage(text,value){ reg=/(^[1-9](\d)?(\.\d+)?$)|(^0(\.\d+)?$)|(^100$)/; errorInfo=text +" "+value+" 有误,请输入0到100的数字!"; verifyByReg(value,reg,errorInfo); } //系数:小于等于1的正数 在这里系数的小数点后面也是2位 function validate_modulus(text,value){ reg=/^[0](\.\d{2})$|^[1](\.[0]{2})?$/; errorInfo=text+" "+value+" 有误,请输入小于0到1的数字!"; verifyByReg(value,reg,errorInfo); } //验证非负的正数,包含了正整数和正浮点数 function validate_posnumhaszero(text,value){ checknull(text,value); reg=/^[1-9](\d+)?(\.\d+)?$|^0(\.\d+)?$/; errorInfo=text+" "+value+" 有误,请输入大于或等于0 的数字!"; verifyByReg(value,reg,errorInfo); } //验证非正的负数,包含了负整数和负浮点数 function validate_negnumhaszero(text,value){ checknull(text,value); reg=/^[-][1-9](\d+)?(\.\d+)?$|^[-]0(\.\d+)?$/; errorInfo=text+" "+value+" 有误,请输入小于或等于0 的数字!"; verifyByReg(value,reg,errorInfo); } //验证正数,包含了正整数和正浮点数 function validate_posnum(text,value){ checknull(text,value); reg=/^[1-9](\d+)?(\.\d+)?$|^0(\.\d+)$/; errorInfo=text+" "+value+" 有误,请输入大于0 的数字!"; verifyByReg(value,reg,errorInfo); } //验证负数,包含了负整数和负浮点数 function validate_negnum(text,value){ checknull(text,value); reg=/^[-][1-9](\d+)?(\.\d+)?$|^[-]0(\.\d+)$/; errorInfo=text+" "+value+" 有误,请输入小于0 的数字!"; verifyByReg(value,reg,errorInfo); } //验证数,包括所有的数值,正数、负数、正浮点数、负浮点数 function validate_allnum(text,value){ checknull(text,value); reg=/^[-|+]?[1-9](\d+)?(\.\d+)?$|^[-|+]?0(\.\d+)?$/; errorInfo=text+" "+value+" 有误,请输入数字!"; verifyByReg(value,reg,errorInfo); }
【相关推荐】
1. 特别推荐:“php程序员工具箱”V0.1版本下载
2. 免费js在线视频教程
3. php.cn独孤九贱(3)-JavaScript视频教程
위 내용은 꼭 마스터해야 할 JS 정규식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











얼굴 검출 및 인식 기술은 이미 상대적으로 성숙하고 널리 사용되는 기술입니다. 현재 가장 널리 사용되는 인터넷 응용 언어는 JS입니다. 웹 프런트엔드에서 얼굴 감지 및 인식을 구현하는 것은 백엔드 얼굴 인식에 비해 장점과 단점이 있습니다. 장점에는 네트워크 상호 작용 및 실시간 인식이 줄어 사용자 대기 시간이 크게 단축되고 사용자 경험이 향상된다는 단점이 있습니다. 모델 크기에 따라 제한되고 정확도도 제한됩니다. js를 사용하여 웹에서 얼굴 인식을 구현하는 방법은 무엇입니까? 웹에서 얼굴 인식을 구현하려면 JavaScript, HTML, CSS, WebRTC 등 관련 프로그래밍 언어 및 기술에 익숙해야 합니다. 동시에 관련 컴퓨터 비전 및 인공지능 기술도 마스터해야 합니다. 웹 측면의 디자인으로 인해 주목할 가치가 있습니다.

PHP 정규식 확인: 숫자 형식 감지 PHP 프로그램을 작성할 때 사용자가 입력한 데이터를 확인해야 하는 경우가 종종 있습니다. 일반적인 확인 중 하나는 데이터가 지정된 숫자 형식을 준수하는지 확인하는 것입니다. PHP에서는 정규식을 사용하여 이러한 종류의 유효성 검사를 수행할 수 있습니다. 이 기사에서는 PHP 정규식을 사용하여 숫자 형식을 확인하고 구체적인 코드 예제를 제공하는 방법을 소개합니다. 먼저 일반적인 숫자 형식 유효성 검사 요구 사항을 살펴보겠습니다. 정수: 0~9의 숫자만 포함하고 더하기 또는 빼기 기호로 시작할 수 있으며 소수점을 포함하지 않습니다. 부동 소수점

정규식을 사용하여 Golang에서 이메일 주소를 확인하려면 다음 단계를 따르세요. regexp.MustCompile을 사용하여 유효한 이메일 주소 형식과 일치하는 정규식 패턴을 만듭니다. MatchString 함수를 사용하여 문자열이 패턴과 일치하는지 확인합니다. 이 패턴은 다음을 포함하여 대부분의 유효한 이메일 주소 형식을 다룹니다. 로컬 사용자 이름에는 문자, 숫자 및 특수 문자가 포함될 수 있습니다: !.#$%&'*+/=?^_{|}~-`도메인 이름에는 최소한 다음이 포함되어야 합니다. 문자 1개 뒤에 문자, 숫자 또는 하이픈이 옵니다. 최상위 도메인(TLD)의 길이는 63자를 초과할 수 없습니다.

Go에서는 정규식을 사용하여 타임스탬프를 일치시킬 수 있습니다. ISO8601 타임스탬프를 일치시키는 데 사용되는 것과 같은 정규식 문자열을 컴파일합니다. ^\d{4}-\d{2}-\d{2}T \d{ 2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ . regexp.MatchString 함수를 사용하여 문자열이 정규식과 일치하는지 확인합니다.

PHP 정규식: 정확한 일치 및 제외 퍼지 포함 정규식은 프로그래머가 텍스트를 처리할 때 효율적인 검색, 바꾸기 및 필터링을 수행하는 데 도움이 되는 강력한 텍스트 일치 도구입니다. PHP에서는 정규식도 문자열 처리 및 데이터 일치에 널리 사용됩니다. 이 기사에서는 PHP에서 정확한 일치를 수행하고 퍼지 포함 작업을 제외하는 방법에 중점을 두고 구체적인 코드 예제를 통해 설명합니다. 완전 일치 완전 일치는 변형이나 추가 단어가 아닌 정확한 조건을 충족하는 문자열만 일치하는 것을 의미합니다.

js와 vue의 관계: 1. 웹 개발의 초석인 JS 2. 프론트엔드 프레임워크로서의 Vue.js의 등장 3. JS와 Vue의 상호 보완적인 관계 4. JS와 Vue의 실제 적용 Vue.

Go에서 정규식을 사용하여 비밀번호를 확인하는 방법은 다음과 같습니다. 최소 비밀번호 요구 사항(소문자, 대문자, 숫자, 특수 문자를 포함하여 8자 이상)을 충족하는 정규식 패턴을 정의합니다. regexp 패키지의 MustCompile 함수를 사용하여 정규식 패턴을 컴파일합니다. MatchString 메서드를 사용하여 입력 문자열이 정규식 패턴과 일치하는지 테스트합니다.

PHP는 널리 사용되는 프로그래밍 언어이며 특히 웹 개발 분야에서 널리 사용됩니다. 웹 개발 과정에서 우리는 사용자가 입력한 텍스트를 필터링하고 검증해야 하는 경우가 종종 있는데, 그 중 문자 필터링은 매우 중요한 작업입니다. 이 기사에서는 PHP에서 정규식을 사용하여 중국어 문자 필터링을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 우선 한자의 유니코드 범위는 u4e00부터 u9fa5까지, 즉 모든 한자가 이 범위에 속한다는 점을 명확히 할 필요가 있다.
