正则表达式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>正则表达式</title> <script src="js/jquery-1.8.2.min.js"></script> <script type="text/javascript"> //正则表达式中“^”用于匹配行首,如果正则表达式匹配以first开头的行,则正则表达式如下:^first //正则表达式中“$”用于匹配行尾,如果正则表达式匹配以end结尾的行,则正则表达式如下:end$ //正则表达式中“\w”用于匹配单词字符,单词字符包括汉字、字母、数字或下划线。"\W"用于匹配任意的非单词字符 //正则表达式中“\s”用于匹配任意的空白字符,空白字符包括换行符、空格、制表符等。“\S”用于匹配任意的非空白符 //正则表达式中“\d”用于匹配任意的数字,数字包括0,1,2,3,4,5,6,7,8,9。"\D"用于匹配任意的非数字字符。 //正则表达式中“.”用于匹配除换行符以外的任意字符。如,正则表达式"^...$"匹配了字符串"abc",同时也会匹配“123”和“1a”。 //正则表达式中“!”用于指定字符本身重复出现的次数。 //正则表达式中“?”用于限定指定的字符出现0次或一次。 //正则表达式中“*”用于限定指定的字符至少出现0次。 //正则表达式中“+”用于限定指定的字符至少出现一次。 //正则表达式中“n”用于限定指定的字符出现n次。 //正则表达式中“{n,}”用于限定指定的字符出现n次。如,^c{5,}$,c可以出现5次或5次以上。 //正则表达式中“{n,m}”用于限定指定的字符至少出现n次,最多出现m次。 function checkPhone() { //电话号码有数字-组成。\d表示数字,{3,4}表示只能输入3、4个数字,-表示要在数字后面显示,?表示3、4个数字只能出现0或者1次,{6,8}表示只能输入6、8个数字,$表示匹配行结束。 var phone = $("#txtPhone").val(); if (/^(\d{3,4}-)?\d{6,8}$/.test(phone)) { alert("电话号码验证成功"); } else { alert("电话号码验证失败"); } } function checkPostcode() { //邮政编码有6个数字组成。\d表示匹配的数字,{6}是限定符,表示匹配6个数字,$表示匹配行结束。 var Postcode = $("#txtPostcode").val(); if (/^\d{6}$/.test(Postcode)) { alert("邮政编码验证成功"); } else { alert("邮政编码验证失败"); } } function checkPassword() { //密码要求6位数字以上,而且不可以是纯字母或数字,只允许输入带字母或数字的字符串。[A-Za-z]表示匹配大小写字母,+表示匹配一个到多个大小写字母,[0-9]表示匹配数字。 var Password = $("#txtPassword").val(); if (/[A-Za-z]+[0-9]/.test(Password)) { alert("输入密码条件验证成功"); } else { alert("输入密码条件验证失败"); } } function checkHandset() { //^表示匹配行开始,[1]表示匹配数字1,[3-5]表示匹配数字3,4,5,\d表示匹配数字,{9}表示匹配9个数字,$表示匹配行结束。 var Handset = $("#txtHandset").val(); if (/^[1][3-5]\d{9}$/.test(Handset)) { alert("手机号码验证成功"); } else { alert("手机号码验证失败"); } } function checkIdcard() { //身份证分15位或18位两种。^表示匹配行开始,\d表示匹配数字,{18}表述匹配18个数字,$表示匹配行结束。 var Idcard = $("#txtIdcard").val(); if (/(^\d{18}$)|(^\d{15}$)/.test(Idcard)) { alert("身份证号码验证成功"); } else { alert("身份证号码验证失败"); } } function checkDecimal() { //[0-9]+表示匹配一个或多个数字,\.表示匹配小数点,[0-9]{3}表示匹配2个数字 var Decimal = $("#txtDecimal").val(); if (/^[0-9]+\.[0-9]{2}$/.test(Decimal)) { alert("两位小数验证成功"); } else { alert("两位小数验证失败"); } } function checkMonth() { //0?表示匹配0个或1个“0”,[1-9]表示匹配数字1-9,1[0-2]表示匹配数字10,11,12。 var Month = $("#txtMonth").val(); if (/^(0?[1-9]|1[0-2])$/.test(Month)) { alert("一年的12个月份验证成功"); } else { alert("一年的12个月份验证失败"); } } function checkDay() { //0?表示匹配0个或1个“0”,[1-9]表示匹配数字1-9,(1|2)表示匹配数字1或2,|30|31表示匹配数字30,31。 var Day = $("#txtDay").val(); if (/^((0?[1-9])|((1|2)[0-9])|30|31)$/.test(Day)) { alert("一个月的31天验证成功"); } else { alert("一个月的31天验证失败"); } } function checkNumber() { //[0-9]*表示匹配0个至多个数字。 var Number = $("#txtNumber").val(); if (/^[0-9]*$/.test(Number)) { alert("数字输入验证成功"); } else { alert("数字输入验证失败"); } } function checkLength() { //\d{6-8}表示匹配6-8个数字。 var Length1 = $("#txtLength").val(); if (/^\d{6,8}$/.test(Length1)) { alert("密码长度验证成功"); } else { alert("密码长度验证失败"); } } function checkMaxnumber() { //\+?表示匹配零个或一个正号+,[0-9]*表示匹配零个或多个数字。 var Maxtnumber = $("#txtMaxtnumber").val(); if (/^\+?[1-9][0-9]*$/.test(Maxtnumber)) { alert("非零的正整数验证成功"); } else { alert("非零的正整数验证失败"); } } function checkMinnumber() { //\-表示匹配零个或一个符号,[0-9]*表示匹配零个或多个数字。 var Minnumber = $("#txtMintnumber").val(); if (/^\-[1-9][0-9]*$/.test(Minnumber)) { alert("非零的负整数验证成功"); } else { alert("非零的负整数验证失败"); } } function checkUpchar() { //[A-Z]+表示匹配一个或多个大写字母 var Upchar = $("#txtUpchar").val(); if (/^[A-Z]+$/.test(Upchar)) { alert("大写字母验证成功"); } else { alert("大写字母验证失败"); } } function checkLower() { //[a-z]+表示匹配一个或多个小写字母 var Lower = $("#txtLowerchar").val(); if (/^[a-z]+$/.test(Lower)) { alert("小写字母验证成功") } else { alert("小写字母验证失败"); } } function checkLetter() { //[A-Za-z]+表示匹配一个或多个大写或小写的字母。 var Letter = $("#txtLetter").val(); if (/^[A-Za-z]+$/.test(Letter)) { alert("输入字母验证成功"); } else { alert("输入字母验证失败"); } } function checkChinese() { //[\u4e00-\u9fa5]{1,}表示匹配一个或多个汉字。 var Chinese = $("#txtChinese").val(); if (/^[\u4e00-\u9fa5]{1,}$/.test(Chinese)) { alert("输入中文汉字验证成功"); } else { alert("输入中文汉字验证失败"); } } function checkChar() { //.{8,}表示匹配除换行符以外的8个或8个以上的字符。 var Char = $("#txtChar").val(); if (/^.{8,}$/.test(Char)) { alert("输入字符串验证成功"); } else { alert("输入字符串验证失败"); } } function checkEmail() { var Email = $("#txtEmail").val(); if (/^(([\w\.]+)@(([[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))|((\w+\.?)+)@([a-zA-Z]{2,4}|[0-9]{1,3})(\.[a-zA-Z]{2,4}))$/.test(Email)) { alert("Email验证成功"); } else { alert("Email验证失败"); } } function checkIP() { var IP = $("#txtIP").val(); if (/25[0-5]|2[0-4]\d|[0-1]\d{2}|{1-9}?\d/.test(IP)) { alert("IP验证成功"); } else { alert("IP验证失败"); } } function checkUserName() { //限制用户名是字母、数字和下划线的正则表达式:^\w+$ var Name = $("#txtUserName").val(); if (/^\w+$/.test(Name)) { alert("用户名验证成功"); } else { alert("用户名验证失败"); } } </script> </head> <body> <input type="text" id="txtPhone"/> <input type="button" value="验证电话号码" onclick="checkPhone();"/><br /><br /> <input type="text" id="txtPostcode"/> <input type="button" value="验证邮政编码" onclick="checkPostcode();"/><br /><br /> <input type="text" id="txtPassword"/> <input type="button" value="验证输入密码条件" onclick="checkPassword();"/><br /><br /> <input type="text" id="txtHandset"/> <input type="button" value="验证手机号码" onclick="checkHandset();"/><br /><br /> <input type="text" id="txtIdcard"/> <input type="button" value="验证身份证号码" onclick="checkIdcard();"/><br /><br /> <input type="text" id="txtDecimal"/> <input type="button" value="验证两位小数" onclick="checkDecimal();"/><br /><br /> <input type="text" id="txtMonth" /> <input type="button" value="验证一年的12个月份" onclick="checkMonth();" /><br /><br /> <input type="text" id="txtDay" /> <input type="button" value="验证一个月的31天" onclick="checkDay();" /><br /><br /> <input type="text" id="txtNumber" /> <input type="button" value="验证数字输入" onclick="checkNumber();" /><br /><br /> <input type="text" id="txtLength" /> <input type="button" value="验证密码长度" onclick="checkLength();" /><br /><br /> <input type="text" id="txtMaxtnumber"/> <input type="button" value="验证非零的正整数" onclick="checkMaxnumber();" /><br /><br /> <input type="text" id="txtMintnumber" /> <input type="button" value="验证非零的负整数" onclick="checkMinnumber();" /><br /><br /> <input type="text" id="txtUpchar" /> <input type="button" value="验证大写字母" onclick="checkUpchar();" /><br /><br /> <input type="text" id="txtLowerchar" /> <input type="button" value="验证小写字母" onclick="checkLower();" /><br /><br /> <input type="text" id="txtLetter" /> <input type="button" value="验证输入字母" onclick="checkLetter();" /><br /><br /> <input type="text" id="txtChinese" /> <input type="button" value="验证中文汉字输入" onclick="checkChinese();" /><br /><br /> <input type="text" id="txtChar" /> <input type="button" value="验证输入字符串" onclick="checkChar();" /><br /><br /> <input type="text" id="txtEmail" /> <input type="button" value="验证E-mail格式" onclick="checkEmail();" /><br /><br /> <input type="text" id="txtIP" /> <input type="button" value="验证IP地址" onclick="checkIP();" /><br /><br /> <input type="text" id="txtUserName" /> <input type="button" value="限制用户名是字母、数字和下划线" onclick="checkUserName();" /><br /><br /> //验证出生日期:\d{4}-\d{2}-\d{2},出生日期的格式必须为:xxxx-xx-xx //验证出国护照:(P\d{7})|(G\d{8}),护照号码的格式有2中:P12345**(7位数字)或G123456**(8位数字) </body>
以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性