/*? 用途:检查输入的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-Zu4e00-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 = str1.lastIndexOf(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 ).checked ) { ???????????????? 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 ).checked ) { ???????????????? 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 ).checked ) { ???????????????? 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; }; |
自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com
本文链接地址: 很常用的JS正则表达式 http://www.chhua.com/web-note3148
评论