读书人

惯用js正则表达式收藏

发布时间: 2012-09-02 21:00:34 作者: rapoo

常用js正则表达式收藏
/*? 用途:检查输入的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 = 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; };

读书人网 >JavaScript

热点推荐