JS常用正则表达式
JS常用正则表达式及验证时间的正则表达式
![JS常用正则表达式及验证时间的正则表达式](https://img.taocdn.com/s3/m/5dfc797a001ca300a6c30c22590102020740f2b1.png)
JS常⽤正则表达式及验证时间的正则表达式在这篇⽂章⾥,我已经编写了12个超有⽤的正则表达式,这可是WEB开发⼈员的最爱哦。
1.在input框中只能输⼊⾦额,其实就是只能输⼊最多有两位⼩数的数字 //第⼀种在input输⼊框限制<input type="text" maxlength="8" class="form-control" id="amount" style="margin-right: 2px;" value="" onChange="count();" onkeyup="if (this.value==this.value2) return; if (this.value.search(/^\d*(?:\.\d{0,2})?$/)==-1) this.value=(this.value2)?this.value2:'';else th //第⼆种对于表单动态增加的⽅式,只能在js⽅法中验证。
var amount=$("#amount").val();if (amount.search(/^\d*(?:\.\d{0,2})?$/)==-1) {alert("⾦额格式不对,最多有两位⼩数");return false;}2.验证邮箱格式var reg=/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;var email=$("#email").val();if(!reg.test(email) ){alert("请输⼊符合规范的邮箱账号!");return false;}3.密码采⽤数字、字母、特殊字符且长度为8-20位function validatePwd(str) {if (/^.*?[\d]+.*$/.test(str) && /^.*?[A-Za-z]/.test(str)&& /^.*?[~/`!@#$%^&*()_+|{}?;:><\-\]\\[\/].*$/.test(str) && /^.{8,20}$/.test(str)) {return true;}return false;}4.验证电话号码/*** 验证电话号码* @param phoneValue 要验证的电话号码* @returns 匹配返回true 不匹配返回false*/function validatePhone(phoneValue) {phoneValue = valueTrim(phoneValue);var reg = /^[1][0-9]{10}$/;return reg.test(phoneValue);}5.判断是否是汉字/*** 判断是否是汉字** @param charValue* 要验证的数据* @returns 匹配返回true 不匹配返回false*/function isCharacter(charValue) {var reg = /^[\u4e00-\u9fa5]{0,}$/;return reg.test(charValue);}6.是否为字母:true:是,false:不是function isChar(charValue){var charPattern=/^[a-zA-Z]*$/; //是否为字母result=charPattern.test(charValue);return result;}7.判断是否为数字function isNum(numValue){var numPattern=/^\d*$/; //数字的正则表达式result=numPattern.test(numValue);return result;}8.整数的正则表达式function isInt(intValue){var intPattern=/^0$|^[1-9]\d*$/; //整数的正则表达式result=intPattern.test(intValue);return result;}9.是否为字母和数字function isCharNum(flagValue){var flagPattern=/^[a-zA-Z0-9]*$/; //是否为字母和数字result=flagPattern.test(flagValue);return result;}10.检验18位⾝份证号码/*** 检验18位⾝份证号码(15位号码可以只检测⽣⽇是否正确即可,⾃⾏解决)** @param idCardValue* 18位⾝份证号* @returns 匹配返回true 不匹配返回false*/function idCardVildate(cid) {var arrExp = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ];// 加权因⼦var arrValid = [ 1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2 ];// 校验码var 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)$/;if (reg.test(cid)) {var sum = 0, idx;for (var i = 0; i < cid.length - 1; i++) {// 对前17位数字与权值乘积求和sum += parseInt(cid.substr(i, 1), 10) * arrExp[i];}// 计算模(固定算法)idx = sum % 11;// 检验第18为是否与校验码相等return arrValid[idx] == cid.substr(17, 1).toUpperCase();} else {return false;}}11.验证15位数⾝份证号码中的⽣⽇是否是有效⽣⽇function isValidityBrithBy15IdCard(idCard15) {var year = idCard15.substring(6, 8);var month = idCard15.substring(8, 10);var day = idCard15.substring(10, 12);var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));// 对于⽼⾝份证中的你年龄则不需考虑千年⾍问题⽽使⽤getYear()⽅法if (temp_date.getYear() != parseFloat(year)|| temp_date.getMonth() != parseFloat(month) - 1|| temp_date.getDate() != parseFloat(day)) {return false;} else {return true;}}12.验证18位数⾝份证号码中的⽣⽇是否是有效⽣⽇function isValidityBrithBy18IdCard(idCard18) {var year = idCard18.substring(6, 10);var month = idCard18.substring(10, 12);var day = idCard18.substring(12, 14);var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));// 这⾥⽤getFullYear()获取年份,避免千年⾍问题if (temp_date.getFullYear() != parseFloat(year)|| temp_date.getMonth() != parseFloat(month) - 1|| temp_date.getDate() != parseFloat(day)) {return false;} else {return true;}}PS:js验证时间正则表达式验证时间格式为:2012-01-31 09:00:22var reDateTime = /^(?:19|20)[0-9][0-9]-(?:(?:0[1-9])|(?:1[0-2]))-(?:(?:[0-2][1-9])|(?:[1-3][0-1])) (?:(?:[0-2][0-3])|(?:[0-1][0-9])):[0-5][0-9]:[0-5][0-9]$/;var isDateTime = reDateTime.test('2012-01-31 09:00:22');以上所述是⼩编给⼤家介绍的JS常⽤正则表达式及验证时间的正则表达式,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。
JS正则表达式大全(整理详细且实用)
![JS正则表达式大全(整理详细且实用)](https://img.taocdn.com/s3/m/08fd779add88d0d233d46a21.png)
JS正则表达式大全(整理详细且实用)。
需要的朋友可以过来参考下,希望对大家有所帮助正则表达式中的特殊字符字符含意\ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。
-或-对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*"。
^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a"$ 匹配一个输入或一行的结尾,/a$/匹配"An a",而不匹配"an A"* 匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa+ 匹配前面元字符1次或多次,/ba*/将匹配ba,baa,baaa匹配前面元字符0次或1次,/ba*/将匹配b,ba(x) 匹配x保存x在名为$1...$9的变量中x|y 匹配x或y{n} 精确匹配n次{n,} 匹配n次以上{n,m} 匹配n-m次[xyz] 字符集(character set),匹配这个集合中的任一一个字符(或元字符)[^xyz] 不匹配这个集合中的任何一个字符[\b] 匹配一个退格符\b 匹配一个单词的边界\B 匹配一个单词的非边界\cX 这儿,X是一个控制符,/\cM/匹配Ctrl-M\d 匹配一个字数字符,/\d/ = /[0-9]/\D 匹配一个非字数字符,/\D/ = /[^0-9]/\n 匹配一个换行符\r 匹配一个回车符\s 匹配一个空白字符,包括\n,\r,\f,\t,\v等\S 匹配一个非空白字符,等于/[^\n\f\r\t\v]/\t 匹配一个制表符\v 匹配一个重直制表符\w 匹配一个可以组成单词的字符(alphanumeric,这是我的意译,含数字),包括下划线,如[\w]匹配"$5.98"中的5,等于[a-zA-Z0-9]\W 匹配一个不可以组成单词的字符,如[\W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]。
js常用正则表达式语法大全
![js常用正则表达式语法大全](https://img.taocdn.com/s3/m/c80d3b70effdc8d376eeaeaad1f34693daef103c.png)
js常用正则表达式语法大全正则表达式是一种强大而灵活的文本匹配工具,在JavaScript中广泛应用于字符串操作、表单验证、搜索和替换等场景。
掌握正则表达式的语法对于JavaScript开发者来说是至关重要的。
本文将介绍JavaScript中常用的正则表达式语法。
1. 基本语法1.1 字面量表示法var regex =/pattern/;1.2 构造函数表示法var regex =new RegExp("pattern");2. 元字符元字符是正则表达式中具有特殊含义的字符。
2.1 普通字符普通字符匹配其字面值,例如:var regex =/abc/;2.2 元字符•.:匹配任意字符(除了换行符)。
•^:匹配字符串的开始。
•$:匹配字符串的结束。
•*:匹配前一个字符0次或多次。
•+:匹配前一个字符1次或多次。
•?:匹配前一个字符0次或1次。
•|:或,匹配两个任一之一。
•( ):分组,将括号内的内容视为一个整体。
3. 字符类字符类用于匹配一个字符的集合。
•[abc]:匹配字符a、b或c中的任意一个。
•[^abc]:匹配除了a、b、c之外的任意字符。
•[a-z]:匹配任意小写字母。
•[A-Z]:匹配任意大写字母。
•[0-9]:匹配任意数字。
4. 预定义字符类预定义字符类是一些常用的字符类的缩写。
•\d:匹配任意数字,相当于[0-9]。
•\D:匹配任意非数字字符,相当于[^0-9]。
•\w:匹配任意单词字符(字母、数字、下划线),相当于[a-zA-Z0-9_]。
•\W:匹配任意非单词字符,相当于[^a-zA-Z0-9_]。
•\s:匹配任意空白字符(空格、制表符、换行符等)。
•\S:匹配任意非空白字符。
5. 量词量词用于指定匹配的次数。
•*:匹配前一个字符0次或多次。
•+:匹配前一个字符1次或多次。
•?:匹配前一个字符0次或1次。
•{n}:匹配前一个字符n次。
•{n,}:匹配前一个字符至少n次。
js常用的正则表达式
![js常用的正则表达式](https://img.taocdn.com/s3/m/f5894838773231126edb6f1aff00bed5b9f37326.png)
js常用的正则表达式前言JavaScript中的正则表达式被广泛用于字符串的匹配和替换,可以让代码更加优雅和高效。
本文将介绍JS中常用的正则表达式及其用法,希望能对初学者有所帮助。
一、基本语法正则表达式由字面值和特殊字符两种类型组成。
字母、数字、空格等都表示字面值,而特殊符号则表示特定含义,例如/d代表数字,/s代表空格等。
正则表达式用斜杠“/”将其包裹起来。
二、常用正则表达式1. 匹配IP地址/^(\d{1,3}\.){3}\d{1,3}$/使用说明: \d表明是数字,{1,3}表明可以是一个到三个数字,\.表示点,^表示字符串开始,$表示字符串结束。
2. 匹配邮箱/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/使用说明: \w表示字母数字下划线,[-+.]表示这些特殊字符中的一个,*表示出现零次或多次。
3. 匹配电话号码/^[1][3,4,5,7,8][0-9]{9}$/使用说明: [1]表示以1开头,[3,4,5,7,8]表示第二个数字只能是这些中的一个,[0-9]{9}表示后面必须跟九个数字。
4. 匹配URL地址/^(http|https):\/\/[a-zA-Z0-9]+[\.a-zA-Z0-9_-]*[a-zA-Z0-9]+(\/\S*)?$/使用说明: (http|https)表示http或https,\/\/表示两个斜杠,[a-zA-Z0-9]表示字母数字任意一个,+表示一个或多个,[\.a-zA-Z0-9_-]*表示出现零次或多次,\/表示斜杠,\S表示任意一个非空白字符。
5. 匹配HTML标签/<\/?[^>]+>/gi使用说明: \?表示出现零次或一次,[^>]表示不是大于号的字符,+表示一个或多个,/i使匹配忽略大小写,/g表示全局匹配。
6. 匹配中文字符/[\u4e00-\u9fa5]/使用说明: [\u4e00-\u9fa5]表示从\u4e00到\u9fa5这个区间的所有字符。
js正则表达式
![js正则表达式](https://img.taocdn.com/s3/m/4260011aa8114431b90dd868.png)
用正则表达式限制只能输入中文:onkeyup=”value=”/blog/value.replace(/["^u4E00-u9FA5]/g,”) ” onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^u4E00-u9FA5]/g,”))”
正则如下:/\d+$/g统一空格个数
来源:正则匹配空格的问题
字符串内字符键有空格,但是空格的数量可能不一致,通过正则将空格的个数统一变为一个。
例如:蓝 色 理 想
变成:蓝 色 理 想
aobert的正则:
<script type="text/javascript"> var str="蓝 色 理 想" var reg=/\s+/g str = str.replace(reg," ") document.write(str) </script>判断字符串是不是由数字组成
来源:想问一下关于电话号码的正则判断
:求一个验证电话号码的JS正则
/^\d{3,4}-\d{7,8}(-\d{3,4})?$/区号必填为3-4位的数字,区号之后用“-”与电话号码连接
^\d{3,4}-电话号码为7-8位的数字
\d{7,8}分机号码为3-4位的数字,非必填,但若填写则以“-”与电话号码相连接
匹配首尾空白字符的正则表达式:^s*|s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
JS的常用正则表达式验证密码(转载自用)
![JS的常用正则表达式验证密码(转载自用)](https://img.taocdn.com/s3/m/afd5166459fafab069dc5022aaea998fcc224084.png)
JS的常⽤正则表达式验证密码(转载⾃⽤) 1 JS的正则表达式23强:字母+数字+特殊字符 4 ^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^&*]+$)(?![\d!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$5 6 7中:字母+数字,字母+特殊字符,数字+特殊字符8 ^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$910弱:纯数字,纯字母,纯特殊字符11 ^(?:\d+|[a-zA-Z]+|[!@#$%^&*]+)$121314//校验是否全由数字组成1516function isDigit(s)17 {18var patrn=/^[0-9]{1,20}$/;19if (!patrn.exec(s)) return false20return true21 }2223//校验登录名:只能输⼊5-20个以字母开头、可带数字、“_”、“.”的字串24function isRegisterUserName(s)25 {26var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;27if (!patrn.exec(s)) return false28return true29 }3031function isRegisterUserName(s)32 {33var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;34if (!patrn.exec(s)) return false35return true36 }373839//校验⽤户姓名:只能输⼊1-30个以字母开头的字串40 Javascript代码41function isTrueName(s)42 {43var patrn=/^[a-zA-Z]{1,30}$/;44if (!patrn.exec(s)) return false45return true46 }47 }}4849//校验密码:只能输⼊6-20个字母、数字、下划线50function isPasswd(s)51 {52var patrn=/^(\w){6,20}$/;53if (!patrn.exec(s)) return false54return true55 }5657//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”58function isTel(s)59 {60//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;61var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;62if (!patrn.exec(s)) return false63return true64 }6566//校验⼿机号码:必须以数字开头,除数字外,可含有“-”67function isMobil(s)68 {69var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;70if (!patrn.exec(s)) return false71return true72 }7374//校验邮政编码75function isPostalCode(s)76 {77//var patrn=/^[a-zA-Z0-9]{3,12}$/;78var patrn=/^[a-zA-Z0-9 ]{3,12}$/;79if (!patrn.exec(s)) return false80return true81 }8283//校验搜索关键字84function isSearch(s)85 {86var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\]87 [\]\{\}:;'\,.<>?]{0,19}$/;88 if (!patrn.exec(s)) return false89 return true90 }9192 function isIP(s) //by zergling93 {94 var patrn=/^[0-9.]{1,20}$/;95 if (!patrn.exec(s)) return false96 return true97 }9899正则表达式100 ^\\d+$ //⾮负整数(正整数 + 0)101 ^[0-9]*[1-9][0-9]*$ //正整数102 ^((-\\d+)|(0+))$ //⾮正整数(负整数 + 0)103 ^-[0-9]*[1-9][0-9]*$ //负整数104 ^-?\\d+$ //整数105 ^\\d+( //⾮负浮点数(正浮点数 + 0)106 ^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 107 //正浮点数108 ^((-\\d+( //⾮正浮点数(负浮点数 + 0)109 ^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$110 //负浮点数111 ^(-?\\d+)( //浮点数112 ^[A-Za-z]+$ //由26个英⽂字母组成的字符串113 ^[A-Z]+$ //由26个英⽂字母的⼤写组成的字符串114 ^[a-z]+$ //由26个英⽂字母的⼩写组成的字符串115 ^[A-Za-z0-9]+$ //由数字和26个英⽂字母组成的字符串116 ^\\w+$ //由数字、26个英⽂字母或者下划线组成的字符串117 ^[\\w-]+( //email地址118 ^[a-zA-z]+://( //url119 ^[A-Za-z0-9_]*$120121匹配完整域名的正则表达式:122 [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?JS的正则表达式强:字母+数字+特殊字符 ^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^&*]+$)(?![\d!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$ 中:字母+数字,字母+特殊字符,数字+特殊字符 ^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$弱:纯数字,纯字母,纯特殊字符^(?:\d+|[a-zA-Z]+|[!@#$%^&*]+)$//校验是否全由数字组成function isDigit(s){var patrn=/^[0-9]{1,20}$/;if (!patrn.exec(s)) return false return true}//校验登录名:只能输⼊5-20个以字母开头、可带数字、“_”、“.”的字串function isRegisterUserName(s){var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;if (!patrn.exec(s)) return false return true}function isRegisterUserName(s){var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;if (!patrn.exec(s)) return false return true}//校验⽤户姓名:只能输⼊1-30个以字母开头的字串Javascript代码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=/^(\w){6,20}$/;if (!patrn.exec(s)) return false return true}//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-” function isTel(s){//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/; var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; if (!patrn.exec(s)) return false return true}//校验⼿机号码:必须以数字开头,除数字外,可含有“-” function isMobil(s){var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;if (!patrn.exec(s)) return false return true}//校验邮政编码function isPostalCode(s){//var patrn=/^[a-zA-Z0-9]{3,12}$/; var patrn=/^[a-zA-Z0-9 ]{3,12}$/;if (!patrn.exec(s)) return false return true}//校验搜索关键字function isSearch(s){var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;'\,.<>?]{0,19}$/;if (!patrn.exec(s)) return false return true}function isIP(s) //by zergling{var patrn=/^[0-9.]{1,20}$/;if (!patrn.exec(s)) return false return true}正则表达式^\\d+$ //⾮负整数(正整数 + 0)^[0-9]*[1-9][0-9]*$ //正整数^((-\\d+)|(0+))$ //⾮正整数(负整数 + 0)^-[0-9]*[1-9][0-9]*$ //负整数^-?\\d+$ //整数^\\d+( //⾮负浮点数(正浮点数 + 0)^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$ //正浮点数^((-\\d+( //⾮正浮点数(负浮点数 + 0)^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$//负浮点数^(-?\\d+)( //浮点数^[A-Za-z]+$ //由26个英⽂字母组成的字符串^[A-Z]+$ //由26个英⽂字母的⼤写组成的字符串^[a-z]+$ //由26个英⽂字母的⼩写组成的字符串^[A-Za-z0-9]+$ //由数字和26个英⽂字母组成的字符串^\\w+$ //由数字、26个英⽂字母或者下划线组成的字符串^[\\w-]+( //email地址^[a-zA-z]+://( //url^[A-Za-z0-9_]*$匹配完整域名的正则表达式:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?。
JS正则表达式语法大全(非常详细)
![JS正则表达式语法大全(非常详细)](https://img.taocdn.com/s3/m/f2f21c3e443610661ed9ad51f01dc281e53a56b1.png)
JS正则表达式语法⼤全(⾮常详细)正则表达式是⼀种通⽤的⼯具,在 Script、、Java、、等⼏乎所有的编程语⾔中都能使⽤;但是,不同编程语⾔对正则表达式语法的⽀持不尽相同,有的编程语⾔⽀持所有的语法,有的仅⽀持⼀个⼦集。
本节讲到的正则表达式语法适⽤于 JavaScript。
正则表达式的语法体现在字符模式上。
字符模式是⼀组特殊格式的字符串,它由⼀系列特殊字符和普通字符构成,其中每个特殊字符都包含⼀定的语义和功能。
描述字符根据正则表达式语法规则,⼤部分字符仅能够描述⾃⾝,这些字符被称为普通字符,如所有的字母、数字等。
元字符就是拥有特动功能的特殊字符,⼤部分需要加反斜杠进⾏标识,以便于普通字符进⾏区别,⽽少数元字符,需要加反斜杠,以便转译为普通字符使⽤。
JavaScript 正则表达式⽀持的元字符如表所⽰。
元字符元字符描述.查找单个字符,除了换⾏和⾏结束符\w查找单词字符\W查找⾮单词字符\d查找数字\D查找⾮数字字符\s查找空⽩字符\S查找⾮空⽩字符\b匹配单词边界\B匹配⾮单词边界\0查找 NUL字符\n查找换⾏符\f查找换页符\r查找回车符\t查找制表符\v查找垂直制表符\xxx查找以⼋进制数 xxxx 规定的字符\xdd查找以⼗六进制数 dd 规定的字符\uxxxx查找以⼗六进制 xxxx规定的 Unicode 字符表⽰字符的⽅法有多种,除了可以直接使⽤字符本⾝外,还可以使⽤ ASCII 编码或者 Unicode 编码来表⽰。
⽰例1下⾯使⽤ ASCII 编码定义正则表达式直接量。
1. var r = /\x61/;2. var s = "JavaScript";3. var a = s.match(s);由于字母 a 的 ASCII 编码为 97,被转换为⼗六进制数值后为 61,因此如果要匹配字符 a,就应该在前⾯添加“\x”前缀,以提⽰它为 ASCII 编码。
⽰例2除了⼗六进制外,还可以直接使⽤⼋进制数值表⽰字符。
JS常用正则表达式总结【经典】
![JS常用正则表达式总结【经典】](https://img.taocdn.com/s3/m/6854cf00a31614791711cc7931b765ce05087a2d.png)
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);}//验证⾮负整数,可以为0function validate_positive_haszero(text,value){reg=/^[1-9](\d+)?|0$/;errorInfo=text+" "+value+" 只能是是0或正整数,请核实重新输⼊";verifyByReg(value,reg,errorInfo);}//验证⾮正整数,可以为0function 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);}PS:这⾥再为⼤家提供2款⾮常⽅便的正则表达式⼯具供⼤家参考使⽤:更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《》希望本⽂所述对⼤家JavaScript程序设计有所帮助。
JS常用正则表达式和JS控制输入框输入限制(数字、汉字、字符)
![JS常用正则表达式和JS控制输入框输入限制(数字、汉字、字符)](https://img.taocdn.com/s3/m/2b99b7c73086bceb19e8b8f67c1cfad6195fe93c.png)
JS常⽤正则表达式和JS控制输⼊框输⼊限制(数字、汉字、字符)⽤js控制输⼊框input数字、汉字、字符1.⽂本框只能输⼊数字代码(⼩数点也不能输⼊)<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">2.只能输⼊数字,能输⼩数点.<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"><input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输⼊数字');this.value='';}">3.数字和⼩数点⽅法⼆<input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}"> 4.只能输⼊字母和汉字(特殊字符不能输⼊)onkeyup="value=value.replace(/[\d]|"|<|>|[\(\)\……\~\`\·\|\【\】\》\《\'\!\!\{\}\#\$\¥\%\^\&\*\(\)\[\]\:\;\:\;\\\‘\“\”\’\,\,\.\。
js常用正则表达式大全--如:数字,字符等
![js常用正则表达式大全--如:数字,字符等](https://img.taocdn.com/s3/m/d8b27f42f6ec4afe04a1b0717fd5360cba1a8dd4.png)
js常⽤正则表达式⼤全--如:数字,字符等⼀、校验数字的表达式1 数字:^[0-9]*$2 n位的数字:^\d{n}$3 ⾄少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5 零和⾮零开头的数字:^(0|[1-9][0-9]*)$6 ⾮零开头的最多带两位⼩数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7 带1-2位⼩数的正数或负数:^(\-)?\d+(\.\d{1,2})?$8 正数、负数、和⼩数:^(\-|\+)?\d+(\.\d+)?$9 有两位⼩数的正实数:^[0-9]+(.[0-9]{2})?$10 有1~3位⼩数的正实数:^[0-9]+(.[0-9]{1,3})?$11 ⾮零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$12 ⾮零的负整数:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$13 ⾮负整数:^\d+$ 或 ^[1-9]\d*|0$14 ⾮正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$15 ⾮负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$16 ⾮正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$17 正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$18 负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$19 浮点数:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$⼆、校验字符的表达式1 汉字:^[\u4e00-\u9fa5]{0,}$2 英⽂和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$3 长度为3-20的所有字符:^.{3,20}$4 由26个英⽂字母组成的字符串:^[A-Za-z]+$5 由26个⼤写英⽂字母组成的字符串:^[A-Z]+$6 由26个⼩写英⽂字母组成的字符串:^[a-z]+$7 由数字和26个英⽂字母组成的字符串:^[A-Za-z0-9]+$8 由数字、26个英⽂字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$9 中⽂、英⽂、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$10 中⽂、英⽂、数字但不包括下划线等符号:^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$11 可以输⼊含有^%&',;=?$\"等字符:[^%&',;=?$\x22]+12 禁⽌输⼊含有~的字符:[^~\x22]+三、特殊需求表达式1 Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$2 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?3 InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$4 ⼿机号码:^(13[0-9]|14[0-9]|15[0-9]|166|17[0-9]|18[0-9]|19[8|9])\d{8}$4.1 var re = /^(1[3-9][0-9]{9})$/;//如:if (re.test(vmData.PHONE) === false) {alert("⼿机号格式不正确");return;}5 电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX):^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$6 国内电话号码(0511-*******、021-********):\d{3}-\d{8}|\d{4}-\d{7}7 18位⾝份证号码(数字、字母x结尾):^((\d{18})|([0-9x]{18})|([0-9X]{18}))$8 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$9 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z]\w{5,17}$10 强密码(必须包含⼤⼩写字母和数字的组合,不能使⽤特殊字符,长度在8-10之间):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$11 ⽇期格式:^\d{4}-\d{1,2}-\d{1,2}12 ⼀年的12个⽉(01~09和1~12):^(0?[1-9]|1[0-2])$13 ⼀个⽉的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$14 钱的输⼊格式:15 1.有四种钱的表⽰形式我们可以接受:"10000.00" 和 "10,000.00", 和没有 "分" 的 "10000" 和 "10,000":^[1-9][0-9]*$16 2.这表⽰任意⼀个不以0开头的数字,但是,这也意味着⼀个字符"0"不通过,所以我们采⽤下⾯的形式:^(0|[1-9][0-9]*)$17 3.⼀个0或者⼀个不以0开头的数字.我们还可以允许开头有⼀个负号:^(0|-?[1-9][0-9]*)$18 4.这表⽰⼀个0或者⼀个可能为负的开头不为0的数字.让⽤户以0开头好了.把负号的也去掉,因为钱总不能是负的吧.下⾯我们要加的是说明可能的⼩数部分:^[0-9]+(.[0-9]+)?$19 5.必须说明的是,⼩数点后⾯⾄少应该有1位数,所以"10."是不通过的,但是 "10" 和 "10.2" 是通过的:^[0-9]+(.[0-9]{2})?$20 6.这样我们规定⼩数点后⾯必须有两位,如果你认为太苛刻了,可以这样:^[0-9]+(.[0-9]{1,2})?$21 7.这样就允许⽤户只写⼀位⼩数.下⾯我们该考虑数字中的逗号了,我们可以这样:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$22 8.1到3个数字,后⾯跟着任意个逗号+3个数字,逗号成为可选,⽽不是必须:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$23 备注:这就是最终结果了,别忘了"+"可以⽤"*"替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在⽤函数时去掉去掉那个反斜杠,⼀般的错误都在这⾥24 xml⽂件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$25 中⽂字符的正则表达式:[\u4e00-\u9fa5]26 双字节字符:[^\x00-\xff] (包括汉字在内,可以⽤来计算字符串的长度(⼀个双字节字符长度计2,ASCII字符计1))27 空⽩⾏的正则表达式:\n\s*\r (可以⽤来删除空⽩⾏)28 HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? /> (⽹上流传的版本太糟糕,上⾯这个也仅仅能部分,对于复杂的嵌套标记依旧⽆能为⼒)29 ⾸尾空⽩字符的正则表达式:^\s*|\s*$或(^\s*)|(\s*$) (可以⽤来删除⾏⾸⾏尾的空⽩字符(包括空格、制表符、换页符等等),⾮常有⽤的表达式)30 腾讯QQ号:[1-9][0-9]{4,} (腾讯QQ号从10000开始)31 中国邮政编码:[1-9]\d{5}(?!\d) (中国邮政编码为6位数字)32 IP地址:\d+\.\d+\.\d+\.\d+ (提取IP地址时有⽤)33 IP地址:((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)) (由@飞龙三少提供,感谢共享)转载⾃:作者:出处:本⽂版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在⽂章页⾯明显位置给出原⽂连接,否则保留追究法律责任的权利。
17种常用的JS正则表达式非负浮点数非负正数
![17种常用的JS正则表达式非负浮点数非负正数](https://img.taocdn.com/s3/m/514894004531b90d6c85ec3a87c24028915f8535.png)
17种常⽤的JS正则表达式⾮负浮点数⾮负正数<input type='text' id='SYS_PAGE_JumpPage' name='SYS_PAGE_JumpPage' size='3' maxlength='5'onkeyup='this.value=this.value.replace(/[^1-9]\D*$/,"")' ondragenter="return false" onpaste="return!clipboardData.getData('text').match(/\D/)"" style="ime-mode:disabled;">1.只能输⼊数字和英⽂的:<input onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text1" NAME="Text1">2.只能输⼊数字的:<input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text2" NAME="Text2">3.只能输⼊全⾓的:<input onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))" ID="Text3" NAME="Text3"> 4.只能输⼊汉字的:<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))" ID="Text4" NAME="Text4"> 5.邮件地址验证:var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$"var re = new RegExp(regu);if (s.search(re) != -1) {return true;} else {window.alert ("请输⼊有效合法的E-mail地址!")return false;}6.⾝份证:"^\\d{17}(\\d|x)$"7.17种正则表达式"^\\d+$" //⾮负整数(正整数 + 0)"^[0-9]*[1-9][0-9]*$" //正整数"^((-\\d+)|(0+))$" //⾮正整数(负整数 + 0)"^-[0-9]*[1-9][0-9]*$" //负整数"^-?\\d+$" //整数"^\\d+(\\.\\d+)?$" //⾮负浮点数(正浮点数 + 0)"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$" //⾮正浮点数(负浮点数 + 0)"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数"^(-?\\d+)(\\.\\d+)?$" //浮点数"^[A-Za-z]+$" //由26个英⽂字母组成的字符串"^[A-Z]+$" //由26个英⽂字母的⼤写组成的字符串"^[a-z]+$" //由26个英⽂字母的⼩写组成的字符串"^[A-Za-z0-9]+$" //由数字和26个英⽂字母组成的字符串"^\\w+$" //由数字、26个英⽂字母或者下划线组成的字符串"^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$" //email地址"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$" //url=============================================1.取消按钮按下时的虚线框在input⾥添加属性值 hideFocus 或者 HideFocus=true2.只读⽂本框内容在input⾥添加属性值 readonly3.防⽌退后清空的TEXT⽂档(可把style内容做做为类引⽤)<INPUT style=behavior:url(#default#savehistory); type=text id=oPersistInput>4.ENTER键可以让光标移到下⼀个输⼊框<input onkeydown="if(event.keyCode==13)event.keyCode=9" >5.只能为中⽂(有闪动)<input onkeyup="value="/value.replace(/[" -~]/g,’’)" onkeydown="if(event.keyCode==13)event.keyCode=9">6.只能为数字(有闪动)<input onkeyup="value="/value.replace(/["^\d]/g,’’)"onbeforepaste="clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\d]/g,’’))">7.只能为数字(⽆闪动)<input ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9" onKeyPress="if ((event.keyCode<48 || event.keyCode>57)) event.returnValue=false">8.只能输⼊英⽂和数字(有闪动)<input onkeyup="value="/value.replace(/[\W]/g,"’’)"onbeforepaste="clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\d]/g,’’))">9.屏蔽输⼊法<input type="text" name="url" ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9">10. 只能输⼊数字,⼩数点,减号(-)字符(⽆闪动)<input onKeyPress="if (event.keyCode!=46 && event.keyCode!=45 && (event.keyCode<48 || event.keyCode>57)) event.returnValue=false">11. 只能输⼊两位⼩数,三位⼩数(有闪动)<input maxlength=9 onkeyup="if(value.match(/^\d{3}$/))value="/value.replace(value,parseInt(value/10))";value="/value.replace(/\.\d*\./g,’."’)" onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 && event.keyCode!=45 || value.match(/^\d{3}$/) || /\.\d{3}$/.test(value)) {event.returnValue=false}" id=text_kfxe name=text_kfxe>。
js正则表达式常用函数详解
![js正则表达式常用函数详解](https://img.taocdn.com/s3/m/0770c83a657d27284b73f242336c1eb91b37335f.png)
js正则表达式常⽤函数详解⼀、js正则表达式之replace函数⽤法:函数功能:replace函数返回根据正则表达式进⾏⽂字替换后的字符串的复制。
函数格式:stringObj.replace(rgExp, replaceText)参数:字符串stringObj,rgExp正则表达式,replaceText所替换的内容本模块涉及的内容包括字符串创建,正则表达式隐式创建对象,创建正则表达式,进⾏replace⽅法的使⽤匹配⽰例代码:<html><script language="javascript" type="text/javascript">//要替换的字符串的内容var objStr=new String("Designed By Androidyue");//隐式创建正则表达式对象var reG=/e/w?/g;//全局匹配(g为全局匹配参数),匹配e或者e?内容var re=/e/w?/;//没有指定参数,值进⾏⼀次匹配with(document){write("进⾏匹配前的字符串"+objStr+"<br>");write("进⾏了全局匹配的字符串"+objStr.replace(reG,"**")+"<br>");write("进⾏匹配,没有指定参数值进⾏⼀次匹配"+objStr.replace(re,"××"));}</script></html>⼆、js正则表达式之test函数⽤法功能介绍:该⽅法的返回值是布尔值,通过该值可以匹配字符串中是否存在于正则表达式相匹配的结果,如果有匹配内容,返回ture,如果没有匹配内容返回false,该⽅法常⽤于判断⽤户输⼊数据的合法性,⽐如检验Email的合法性基本语法:objReg.test(objStr)objReg 必选项 RegExp对象名称objStr 要进⾏匹配检测的字符串⽰例代码:<html><script language="javascript" type="text/javascript">/*Designed By Androidyue*//*功能:检测Email地址的合法性*/function checkEmail(){//获取⽂本框中⽤户输⼊Email的信息var objStr=document.getElementById("email").value;//设置匹配Email的正则表达式var objReg=//w+[@]{1}/w+[.]/w+/;//document.write(objStr);//如果判断字符串中是否存在匹配内容,如果存在提⽰正确信息,否则返回错误if(objReg.test(objStr)){alert("该Email地址是合法的!");}else{alert("该Email地址是⾮法的!");}}</script><body>请输⼊Email地址:<input type="text" id="email"><!--设置Email输⼊框--><input type="button" value="检测合法性" onclick="checkEmail()"><!--设置按钮⽤于出发检测Email合法性事件--></body></html>三、js正则表达式之match函数⽤法函数功能:使⽤正则表达式模式对字符串执⾏查找,并将包含查找的结果作为数组返回函数格式:stringObj.match(rgExp) stringObj为字符串必选 rgExp为正则表达式必选项返回值:如果能匹配则返回结果数组,如果不能匹配返回null<html><script language="javascript" type="text/javascript">//使⽤正则表达式模式对字符串执⾏查找,并将包含查找的结果作为数组返回var objStr=new String("Yue I love you till the end of my life!");var re=//wo(/w+)?/g;//该表达式⽤来匹配⼀个以/w代表的字符,第⼆个字符是o,后⾯有⼀个字符或者多个字符+表⽰前⾯的字符匹配的次数,全局匹配var arr=objStr.match(re);//调⽤match⽅法匹配字符串并且如果存在返回数组,如果没有结果返回为nulldocument.write("匹配前的字符串:"+objStr+"<br>");//输出匹配前的字符串if(arr!=null){//如果能匹配成功即arr数组不为空,循环输出结果for(var i=0;i<arr.length;i++){document.write("<li>"+arr[i]);}}</script></html>四、js正则表达式之search⽅法讲解功能:返回与正则表达式查找内容匹配的第⼀个⼦字符串的位置语法:stringObj.search(rgExp) stringObj 必选项 rgExp正则表达式返回值:search ⽅法指明是否存在相应的匹配。
js验证正整数的正则表达式
![js验证正整数的正则表达式](https://img.taocdn.com/s3/m/54454be0a0c7aa00b52acfc789eb172ded639938.png)
js验证正整数的正则表达式在JavaScript中,可以使用正则表达式验证输入的字符串是否为正整数。
正整数是指不含小数点、负号或其他非数字字符的整数。
以下是一个简单的JavaScript正则表达式,用于验证字符串是否为正整数:```javascript/^[1-9]d*$/```这个正则表达式的含义是:- `^` 表示匹配字符串的开头。
- `[1-9]` 表示匹配数字1到9中的任意一个。
- `d*` 表示匹配0个或多个任意数字。
- `$` 表示匹配字符串的结尾。
因此,这个正则表达式表示匹配以数字1到9开头,后面跟着0个或多个数字的字符串,即正整数。
以下是一个简单的JavaScript函数,用于验证输入的字符串是否为正整数:```javascriptfunction isPositiveInteger(str) {return /^[1-9]d*$/.test(str);}```该函数接受一个字符串参数,并使用正则表达式测试它是否为正整数。
如果字符串是正整数,则返回`true`,否则返回`false`。
使用示例:```javascriptconsole.log(isPositiveInteger('123')); // trueconsole.log(isPositiveInteger('-123')); // falseconsole.log(isPositiveInteger('1.23')); // falseconsole.log(isPositiveInteger('0')); // falseconsole.log(isPositiveInteger('abc')); // false```需要注意的是,该函数只能验证字符串是否为正整数,无法验证是否超过某个特定的范围。
如果需要验证数值是否在特定范围内,可以先使用该函数判断字符串是否为正整数,然后再将字符串转换为数字进行进一步的验证。
中文、英文、空格 js正则表达式
![中文、英文、空格 js正则表达式](https://img.taocdn.com/s3/m/20ed6e4503020740be1e650e52ea551811a6c942.png)
主题:中文、英文、空格JS正则表达式内容:1. 概述正则表达式是一种强大的工具,用于在字符串中进行模式匹配和搜索。
在JavaScript中,我们可以使用正则表达式来处理中文、英文和空格。
2. 中文正则表达式匹配中文字符的正则表达式可以使用Unicode编码,例如:```javascriptvar chineseReg = /[\u4e00-\u9fa5]/;```这个正则表达式会匹配所有的中文字符。
例如:```javascriptchineseReg.test('你好吗'); // truechineseReg.test('hello'); // false```3. 英文正则表达式匹配英文字符的正则表达式可以使用字母范围,例如:```javascriptvar englishReg = /[a-zA-Z]/;```这个正则表达式会匹配所有的英文字符。
例如:```javascriptenglishReg.test('hello'); // trueenglishReg.test('你好吗'); // false```4. 空格正则表达式匹配空格字符的正则表达式可以使用空格符号,例如:```javascriptvar spaceReg = /\s/;```这个正则表达式会匹配所有的空格字符。
例如:```javascriptspaceReg.test('hello world'); // truespaceReg.test('你好吗'); // false```5. 综合应用在实际开发中,我们经常需要处理多种字符类型的字符串。
可以使用上述的中文、英文和空格正则表达式,结合JavaScript中的RegExp 对象来进行复杂的模式匹配和替换操作。
例如:```javascriptvar str = '你好,hello world';var chineseReg = /[\u4e00-\u9fa5]/;var englishReg = /[a-zA-Z]/;var spaceReg = /\s/;for (var i = 0; i < str.length; i++) {if (chineseReg.test(str[i])) {console.log('中文字符:' + str[i]);} else if (englishReg.test(str[i])) {console.log('英文字符:' + str[i]);} else if (spaceReg.test(str[i])) {console.log('空格字符:' + str[i]);}}```6. 总结在JavaScript中,使用正则表达式处理中文、英文和空格字符是非常方便的。
JS常用正则表达式
![JS常用正则表达式](https://img.taocdn.com/s3/m/d89e8d18fad6195f312ba668.png)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
^-?[1-9]\d*$ //匹配整数
^[1-9]\d*|0$ //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$ //匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数
只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。
只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。
只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。
只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。
只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"。
IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/
Currency : /^\d+(\.\d+)?$/
js正则表达式函数
![js正则表达式函数](https://img.taocdn.com/s3/m/c6131ed8112de2bd960590c69ec3d5bbfd0ada0a.png)
js正则表达式函数JavaScript正则表达式函数是一种强大的工具,用于在字符串中查找和替换特定模式的文本。
以下是一些常用的正则表达式函数:1. test()函数test()函数用于测试一个字符串是否匹配某个模式。
它返回一个布尔值,如果字符串与模式匹配,则返回true,否则返回false。
语法:/模式/.test(字符串)示例:var str = "Hello World!";var patt = /World/;var result = patt.test(str);console.log(result); //输出true2. exec()函数exec()函数用于在字符串中查找匹配的模式,并返回一个数组。
如果没有找到匹配的模式,则返回null。
语法:/模式/.exec(字符串)示例:var str = "The rain in Spain falls mainly in the plain";var patt = /ain/g;var result = patt.exec(str);console.log(result); //输出["ain", index: 5, input: "The rain in Spain falls mainly in the plain"]3. match()函数match()函数用于在字符串中查找所有匹配的模式,并返回一个数组。
如果没有找到匹配的模式,则返回null。
语法:字符串.match(/模式/g)示例:var str = "The rain in Spain falls mainly in the plain";var patt = /ain/g;var result = str.match(patt);console.log(result); //输出["ain", "ain", "ain"]4. replace()函数replace()函数用于在字符串中替换匹配的模式,并返回新的字符串。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/*用途:检查输入的Email信箱格式是否正确输入:strEmail:字符串返回:如果通过验证返回true,否则返回false*/function checkEmail(strEmail){//var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/;var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;if( emailReg.test(strEmail) ) {return true;}else{alert("您输入的Email地址格式不正确!");return false;}};/*用途:校验ip地址的格式输入:strIP:ip地址返回:如果通过验证返回true,否则返回false;*/function isIP(strIP){if(isNull(strIP)) {return false;}var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式if(re.test(strIP)) {if( RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) {return true;}}return false;};/*用途:检查输入手机号码是否正确输入:strMobile:字符串返回:如果通过验证返回true,否则返回false*/function checkMobile( strMobile ){var regu = /^[1][3][0-9]{9}$/;var re = new RegExp(regu);if(re.test(strMobile)) {return true;}else{return false;}};/*用途:检查输入的电话号码格式是否正确输入:strPhone:字符串返回:如果通过验证返回true,否则返回false*/function checkPhone( strPhone ){var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/;var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/;var prompt = "您输入的电话号码不正确!"if( strPhone.length > 9 ) {if( phoneRegWithArea.test(strPhone) ) {return true;}else{alert( prompt );return false;}}else{if( phoneRegNoArea.test( strPhone ) ) {return true;}else{alert( prompt );return false;}}};/*用途:检查输入字符串是否为空或者全部都是空格输入:str返回:如果全是空返回true,否则返回false*/function isNull( str ){if( str == "") {return true;}var regu = "^[ ]+$";var re = new RegExp(regu);return re.test(str);};/*用途:检查输入对象的值是否符合整数格式输入:str 输入的字符串返回:如果通过验证返回true,否则返回false*/function isInteger( str ){var regu = /^[-]{0,1}[0-9]{1,}$/;return regu.test(str);};/*用途:检查输入字符串是否符合正整数格式输入:s:字符串返回:如果通过验证返回true,否则返回false*/function isNumber( s ){var regu = "^[0-9]+$";var re = new RegExp(regu);if(s.search(re) != - 1) {return true;}else{return false;}};/*用途:检查输入字符串是否是带小数的数字格式,可以是负数输入:str:字符串返回:如果通过验证返回true,否则返回false*/function isDecimal( str ){if(isInteger(str)) {return true;}var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/;if(re.test(str)) {if(RegExp.$1 == 0 && RegExp.$2 == 0) {return false;}return true;}else{return false;}};/*用途:检查输入对象的值是否符合端口号格式输入:str 输入的字符串返回:如果通过验证返回true,否则返回false*/function isPort( str ){return(isNumber(str) && str < 65536);};/*用途:检查输入字符串是否符合金额格式,格式定义为带小数的正数,小数点后最多三位输入:s:字符串返回:如果通过验证返回true,否则返回false*/function isMoney( s ){var regu = "^[0-9]+[\.][0-9]{0,3}$";var re = new RegExp(regu);if(re.test(s)) {return true;}else{return false;}};/*用途:检查输入字符串是否只由英文字母和数字和下划线组成输入:s:字符串返回:如果通过验证返回true,否则返回false*/function isNumberOr_Letter( s ){//判断是否是数字或字母var regu = "^[0-9a-zA-Z\_]+$";var re = new RegExp(regu);if(re.test(s)) {return true;}else{return false;}};/*用途:检查输入字符串是否只由英文字母和数字组成输入:s:字符串返回:如果通过验证返回true,否则返回false*/function isNumberOrLetter( s ){//判断是否是数字或字母var regu = "^[0-9a-zA-Z]+$";var re = new RegExp(regu);if(re.test(s)) {return true;}else{return false;}};/*用途:检查输入字符串是否只由汉字、字母、数字组成输入:s:字符串返回:如果通过验证返回true,否则返回false*/function isChinaOrNumbOrLett( s ){//判断是否是汉字、字母、数字组成var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";var re = new RegExp(regu);if(re.test(s)) {return true;}else{return false;}};/*用途:判断是否是日期输入:date:日期;fmt:日期格式返回:如果通过验证返回true,否则返回false*/function isDate( date, fmt ){if(fmt == null) {fmt = "yyyyMMdd";}var yIndex = fmt.indexOf("yyyy");if(yIndex ==- 1) {return false;}var year = date.substring(yIndex, yIndex + 4);var mIndex = fmt.indexOf("MM");if(mIndex ==- 1) {return false;}var month = date.substring(mIndex, mIndex + 2);var dIndex = fmt.indexOf("dd");if(dIndex ==- 1) {return false;}var day = date.substring(dIndex, dIndex + 2);if(!isNumber(year) || year > "2100"|| year < "1900") {return false;}if(!isNumber(month) || month > "12"|| month < "01") {return false;}if(day > getMaxDay(year, month) || day < "01") {return false;}return true;};function getMaxDay(year, month){if(month == 4 || month == 6 || month == 9 || month == 11) {return"30";}if(month == 2) {if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {return"29";}else{return"28";}return"31";;}};/*用途:字符1是否以字符串2结束输入:str1:字符串;str2:被包含的字符串返回:如果通过验证返回true,否则返回false*/function isLastMatch(str1, str2){var index = stIndexOf(str2);if(str1.length == index + str2.length) {return true;}return false;};/*用途:字符1是否以字符串2开始输入:str1:字符串;str2:被包含的字符串返回:如果通过验证返回true,否则返回false*/function isFirstMatch(str1, str2){var index = str1.indexOf(str2);if(index == 0) {return true;}return false;};/*用途:字符1是包含字符串2输入:str1:字符串;str2:被包含的字符串返回:如果通过验证返回true,否则返回false*/function isMatch(str1, str2){var index = str1.indexOf(str2);if(index ==- 1) {return false;}return true;};/*用途:检查输入的起止日期是否正确,规则为两个日期的格式正确,且结束如期>=起始日期输入:startDate:起始日期,字符串; endDate:结束如期,字符串返回:如果通过验证返回true,否则返回false*/function checkTwoDate( startDate, endDate ){if( !isDate(startDate) ) {alert("起始日期不正确!");return false;}else if( !isDate(endDate) ) {alert("终止日期不正确!");return false;}else if( startDate > endDate ) {alert("起始日期不能大于终止日期!");return false;}return true;};/*用途:检查复选框被选中的数目输入:checkboxID:字符串返回:返回该复选框中被选中的数目*/function checkSelect( checkboxID ){var check = 0;var i = 0;if( document.all(checkboxID).length > 0 ){for( i = 0; i < document.all(checkboxID).length; i++ ) {if( document.all(checkboxID).item( i ).check ed ) {check += 1;}}}else{if( document.all(checkboxID).checked ) {check = 1;}}return check;}function getTotalBytes(varField){if(varField == null) {return- 1;}var totalCount = 0;for(i = 0; i < varField.value.length; i++) {if(varField.value.charCodeAt(i) > 127) {totalCount += 2;}else{totalCount++ ;}}return totalCount;}function getFirstSelectedValue( checkboxID ){var value = null;var i = 0;if( document.all(checkboxID).length > 0 ){for( i = 0; i < document.all(checkboxID).length; i++ ){if( document.all(checkboxID).item( i ).check ed ) {value =document.all(checkboxID).item(i).value;break;}}}else{if( document.all(checkboxID).checked ) {value = document.all(checkboxID).value;}}return value;}function getFirstSelectedIndex( checkboxID ){var value = - 2;var i = 0;if( document.all(checkboxID).length > 0 ){for( i = 0; i < document.all(checkboxID).length; i++ ) {if( document.all(checkboxID).item( i ).check ed ) {value = i;break;}}}else{if( document.all(checkboxID).checked ) {value = - 1;}}return value;}function selectAll( checkboxID, status ){if( document.all(checkboxID) == null) {return;}if( document.all(checkboxID).length > 0 ){for( i = 0; i < document.all(checkboxID).length; i++ ) {document.all(checkboxID).item( i ).checked = status;}}else{document.all(checkboxID).checked = status;}}function selectInverse( checkboxID ){if( document.all(checkboxID) == null) {return;}if( document.all(checkboxID).length > 0 ){for( i = 0; i < document.all(checkboxID).length; i++ ){document.all(checkboxID).item( i ).checked= !document.all(checkboxID).item( i ).checked;}}else{document.all(checkboxID).checked= !document.all(checkboxID).checked;}}function checkDate( value ){if(value == '') {return true;}if(value.length != 8 || !isNumber(value)) {return false;}var year = value.substring(0, 4);if(year > "2100"|| year < "1900") {return false;}var month = value.substring(4, 6);if(month > "12"|| month < "01") {return false;}var day = value.substring(6, 8);if(day > getMaxDay(year, month) || day < "01") {return false;}return true;};/*用途:检查输入的起止日期是否正确,规则为两个日期的格式正确或都为空且结束日期>=起始日期输入:startDate:起始日期,字符串; endDate:结束日期,字符串返回:如果通过验证返回true,否则返回false*/function checkPeriod( startDate, endDate ){if( !checkDate(startDate) ) {alert("起始日期不正确!");return false;}else if( !checkDate(endDate) ) {alert("终止日期不正确!");return false;}else if( startDate > endDate ) {alert("起始日期不能大于终止日期!");return false;}return true;};/*用途:检查证券代码是否正确输入:secCode:证券代码返回:如果通过验证返回true,否则返回false*/function checkSecCode( secCode ){if( secCode.length != 6 ) {alert("证券代码长度应该为6位");return false;}if(!isNumber( secCode ) ) {alert("证券代码只能包含数字");return false;}return true;};/*function:cTrim(sInputString,iType)description:字符串去空格的函数parameters:iType:1=去掉字符串左边的空格;2=去掉字符串左边的空格;0=去掉字符串左边和右边的空格return value:去掉空格的字符串*/function cTrim(sInputString, iType){var sTmpStr = ' ';var i = - 1;if(iType == 0 || iType == 1){while(sTmpStr == ' ') {++i;sTmpStr = sInputString.substr(i, 1);}sInputString = sInputString.substring(i);}if(iType == 0 || iType == 2){sTmpStr = ' ';i = sInputString.length;while(sTmpStr == ' ') {--i;sTmpStr = sInputString.substr(i, 1);}sInputString = sInputString.substring(0, i + 1);}return sInputString;};。