js验证框架实现代码分享
本文实例为大家分享了js验证框架,很实用,供大家参考,具体内容如下
1、关键方法和原理:
functioncheck(thisInput)方法中的
if(!eval(scriptCode)){
returnfalse;
}
2、调用示例:
<inputtype="text"class="text_fieldpercentCheck"name="progress_payment_two"id="progress_payment_two"inputName="进度款2比例(%)"validate="isNumeric;notNull"maxLength="350"value=""/>
3、验证时会自动调用:isNumeric方法和notNull方法并返回验证的结果信息。
4、验证框架源码如下
varConfigValidateInfoType="writeAlert";//支持writeAlert和writePage,"writePage;writeAlert"
varrmTempStatusIsAlert=false;
varrmTempStatusIsFocus=false;
varbeginValidate=true;
varset_All_Venus_Inputs_Default=true;
String.prototype.trim=function(){returnthis.replace(/(^\s*)|(\s*$)/g,"");}
functioncheckAllForms(){
varcheckResult=true;
rmTempStatusIsAlert=false;
rmTempStatusIsFocus=false;
setAllVenusInputsDefault();
for(vari=0;i<document.forms.length;i++){
for(varj=0;j<document.forms[i].elements.length;j++){
varthisInput=document.forms[i].elements[j];
if(thisInput.type!="hidden"&&thisInput.type!="button"&&!(thisInput.id.indexOf("TF_")>=0&&thisInput.id.indexOf("_TF")>0)&&thisInput.clientWidth!=0&&thisInput.style&&thisInput.style.display!='none'){
/*
if(validateStr!=null&&validateStr.length>0){
if(thisInput.tagName=='TEXTAREA'&&srcstr!=''){
srcstr=replaceEnter(srcstr);
if(thisInput.maxLength!=null&&thisInput.maxLength>0){
if(getStrLength(srcstr)>thisInput.maxLength){
writeValidateInfo(thisInput,"焦点处输入长度超长\n请确保输入长度在"+frm.maxLength+"以内");
returnfalse;
}
}
}
}
*/
if(thisInput.id&&thisInput.id.indexOf("supplier_id_ref_")!=-1&&document.getElementById("unionDiv")&&document.getElementById("unionDiv").style.display=="none"){
continue;
}
varrtValue=check(thisInput);
if(checkResult&&rtValue==false){
checkResult=false;
break;
}
}
}
}
returncheckResult;
}
functioncheck(thisInput){
varvalidateStr=thisInput.validate;
if(validateStr==null){
returntrue;
}
varinputValue=thisInput.value;
if(beginValidate){
varvalidateTemp=newArray();
validateTemp=validateStr.split(';');
for(vari=0;i<validateTemp.length;i++){
if(validateTemp[i].length==0){
continue;
}
s=replaceSingleQuote(inputValue);
try{
varscriptCode="javascript:"+validateTemp[i];//"javascript:"+validateTemp[i]+"('"+s+"',"+"thisInput)"
if(validateTemp[i].indexOf("(")<0||validateTemp[i].indexOf(")")<0){
scriptCode="javascript:"+validateTemp[i]+"(s,thisInput)"
}
if(!eval(scriptCode)){
returnfalse;
}
}catch(e){
alert("校验函数"+validateTemp[i]+"有异常,请检查!"+"\n"+e.message);
returnfalse;
}
}
}
returntrue;
}
functionsetAllVenusInputsDefault(){
varfrmslen=document.forms.length;
for(vari=0;i<frmslen;i++){
varinslen=document.forms[i].elements.length;
for(varj=0;j<inslen;j++){
varfrm=document.forms[i].elements[j]
if(frm.type!="hidden"&&frm.type!="button"&&!(frm.id.indexOf("TF_")>=0&&frm.id.indexOf("_TF")>0)){
if(frm.validate!=null){
setVenusInputDefault(frm);
writeValidateInfoAfterObject("",frm);
}
}
}
}
returntrue;
}
functionsetVenusInputDefault(_frm){
_frm.style.borderStyle="";
_frm.style.borderColor="";
if(_frm.value!=null){
_frm.style.backgroundColor="";
_frm.style.color="";
}
}
functionreplaceEnter(_str){
/**替换换行回车字符**/
varstr=_str;
str=str.replace('\n','')
str=str.replace('\r','')
//alert(str.indexOf('\n'))
if(str.indexOf('\n')!=-1&&str.indexOf('\r')!=-1){
returnreplaceEnter(str);
}else{
returnstr;
}
}
functionreplaceSingleQuote(_str){
/**替换换行回车字符**/
varstr=_str;
str=str.replace('\\','\\u005C');
str=str.replace('\'','\\u0027');
str=str.replace('(','\\u0028');
str=str.replace(')','\\u0029');
str=str.replace('\"','\\u0022');
str=str.replace(';','\\u0038');
//str=Jtrim(str);
returnstr;
}
functionisContains(_validateStr,_validator){
for(vari=0;i<_validateStr.length;i++)
{
if(_validateStr[i]==_validator)
returntrue;
}
returnfalse;
}
functionwriteValidateInfo(info,thisObj){
varinputName=getInputNameFromObject(thisObj);
info=inputName+"的输入有误!\n"+info;
if(ConfigValidateInfoType.indexOf("writePage")>=0){
writeValidateInfoAfterObject(info,thisObj);
}
if(ConfigValidateInfoType.indexOf("writeAlert")>=0){
writeValidateInfoAlert(info,thisObj);
}
if(!rmTempStatusIsFocus){
setVenusInputError(thisObj);
rmTempStatusIsFocus=true;
}
}
functionsetVenusInputError(_frm){
try{
//_frm.click();//click会导致文件上传错误
_frm.focus();
//由于SELCET不支持内容选择,且不用内容选择,所以特殊处理,防止报错
//修改:李岳2009-11-12
if(_frm.tagName!="SELECT"){
_frm.select();
}
_frm.style.borderStyle="dashed";
_frm.style.borderColor="rgb(255,50,0)";
if(_frm.value!=null&&_frm.value.length>0){
_frm.style.backgroundColor="highlight";
_frm.style.color="white";
}
}catch(e){
alert(e.message);
}
}
functionwriteValidateInfoAlert(info,thisObj){
if(!rmTempStatusIsAlert){
alert(info);
rmTempStatusIsAlert=true;
}
}
functionwriteValidateInfoAfterObject(info,thisObj){//写校验信息
varvalidateInfoObj=null;
thisObj=getValidatePosition(thisObj);
if(thisObj.nextSibling!=null&&thisObj.nextSibling.nextSibling!=null
&&thisObj.nextSibling.tagName!=null&&thisObj.nextSibling.tagName.toUpperCase()=="FONT"
&&thisObj.nextSibling.nextSibling.tagName.toUpperCase()=="SPAN"&&thisObj.nextSibling.nextSibling.className=="font_remain_prompt"){
validateInfoObj=thisObj.nextSibling.nextSibling;
}else{
thisObj.insertAdjacentHTML("afterEnd","<font></font><spanclass=font_remain_prompt></span>");
validateInfoObj=thisObj.nextSibling.nextSibling;
}
if(validateInfoObj.innerHTML.length>0||info.length>0){
validateInfoObj.innerHTML=info;
}
}
functiongetValidatePosition(thisObj){
if(thisObj.nextSibling!=null&&thisObj.nextSibling.className=="refButtonClass"){
thisObj=getValidatePosition(thisObj.nextSibling);
}elseif(thisObj.nextSibling!=null&&thisObj.nextSibling.type=="hidden"){
thisObj=getValidatePosition(thisObj.nextSibling);
}
returnthisObj;
}
functiongetInputNameFromObject(thisInput){
varinputName=thisInput.inputName;
if(inputName==null||inputName.length==0){
inputName=thisInput.name;
if(inputName==null||inputName.length==0){
inputName="";
}
}
returninputName;
}
functiongetStrLength(str){
varlen=0;
for(vari=0;i<str.length;i++){
if(str.charCodeAt(i)>255)
len+=2;
else
len++;
}
returnlen;
}
/**********************************************************************
*ranminvalidate
***********************************************************************/
functionnotNull(s,thisInput){//不能为空
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
s=s.trim();
if(s.length==0){
writeValidateInfo("不能为空或空格!",thisInput);
returnfalse;
}
vars=Jtrim(s);
if(s.length==0){
writeValidateInfo("不能为空或空格!",thisInput);
returnfalse;
}
returntrue;
}
functionisJine(s,thisInput){//不能为空
vara=/^[0-9]*(\.[0-9]{1,2})?$/;
if(!a.test(s)){
writeValidateInfo("有非法字符或者小数点位数超过两位",thisInput);
returnfalse;
}else{
returntrue;
}
}
functionisMobile(s,thisInput){//是手机号码:必须以数字开头,除数字外,可含有“-”
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
s=s.trim();
if(s.length==0){
returntrue;
}
varobj=newArray()
obj[0]="13";
obj[1]="14";
obj[2]="15";
obj[3]="18";
if(s!=null){
if(s.length!=11){
writeValidateInfo('请输入合法的手机号码!',thisInput);
returnfalse;
}
varmob=0;
for(varint=0;int<obj.length;int++){
if(s.substring(0,2)==obj[int]){
mob=mob+1;
}
}
if(mob==0){
writeValidateInfo('请输入合法的手机号码!',thisInput);
returnfalse;
}
}
varpatrn=/^[+]{0,1}(\d){1,3}[]?([-]?((\d)|[]){1,12})+$/;
if(!patrn.exec(s)){
writeValidateInfo('请输入合法的手机号码!',thisInput);
returnfalse;
}
returntrue;
}
functionisPostalCode(s,thisInput){//是邮政编码
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
s=s.trim();
if(s.length==0){
returntrue;
}
varpatrn=/^[a-zA-Z0-9]{3,12}$/;
if(!patrn.exec(s)){
writeValidateInfo('请输入合法的邮政编码!',thisInput);
returnfalse;
}
returntrue;
}
functionisTel(s,thisInput){//是电话普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
s=s.trim();
if(s.length==0){
returntrue;
}
varpatrn=/^[+]{0,1}(\d){1,3}[]?([-]?((\d)|[]){1,12})+$/;
if(!patrn.exec(s)){
writeValidateInfo('请输入合法的电话号码!',thisInput);
returnfalse
}
returntrue;
}
functionisTelForFax(s,thisInput){//是电话普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
s=s.trim();
if(s.length==0){
returntrue;
}
varpatrn=/^(\d){3,4}[-](\d){7,8}$/;
if(!patrn.exec(s)){
writeValidateInfo('请输入合法的座机号码,例如:010-88888888!',thisInput);
returnfalse
}
returntrue;
}
functionisFax(s,thisInput){//是电话普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
s=s.trim();
if(s.length==0){
returntrue;
}
varpatrn=/^(\d){3,4}[-](\d){7,8}$/;
if(!patrn.exec(s)){
writeValidateInfo('请输入合法的传真号码,例如:010-88888888!',thisInput);
returnfalse
}
returntrue;
}
functionisChinese(s,thisInput){//是中文
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
s=s.trim();
if(s.length==0){
returntrue;
}
varret=ischinese(s);
if(!ret){
writeValidateInfo("请输入中文",thisInput);
returnret;
}
returnret;
}
functionnotChinese(s,thisInput){//不含中文
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
s=s.trim();
if(s.length==0){
returntrue;
}
varret=ischinese(s);
if(ret){
writeValidateInfo("不能输入中文",thisInput);
returnfalse;
}
returntrue;
}
functionisNum(s,thisInput){//是数字
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
s=s.trim();
if(s.length==0){
returntrue;
}
vardigits="0123456789";
vari=0;
varsLength=s.length;
while((i<sLength)){
varc=s.charAt(i);
if(digits.indexOf(c)==-1){
writeValidateInfo("请输入数字!",thisInput);
returnfalse;
}
i++;
}
returntrue;
}
functionisNumBigtoZero(s,thisInput){//是数字
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
s=s.trim();
if(s.length==0){
returntrue;
}
vardigits="0123456789";
vari=0;
varsLength=s.length;
while((i<sLength)){
varc=s.charAt(i);
if(digits.indexOf(c)==-1){
writeValidateInfo("请输入数字!",thisInput);
returnfalse;
}
i++;
}
try{
if(thisInput.value<=0){
writeValidateInfo("输入数值必须大于零!",thisInput);
returnfalse;
}
}catch(e){
}
returntrue;
}
functionisEmail(s,thisInput){//是电子邮件
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
s=s.trim();
if(s.length==0){
returntrue;
}
if(s.length>100){
writeValidateInfo("email地址长度不能超过100位!",thisInput);
returnfalse;
}
varregu=/^(([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)$/;
if(regu.exec(s)){
returntrue;
}else{
writeValidateInfo("请输入有效合法的E-mail地址!",thisInput);
returnfalse;
}
}
functionisIP(){//是IP
varpatrn=/^[0-9.]{1,20}$/;
if(!patrn.exec(s)){
writeValidateInfo('请输入IP值!',thisInput);
returnfalse
}
returntrue;
}
/**********************************************************************
*VenusWebJavaScriptCode:HTC校验notNull
***********************************************************************/
functionnotNullWithoutTrim(s,thisInput){//是""
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
s=s.trim();
if(s.length==0){
writeValidateInfo('请输入,该项不能为空!',thisInput);
returnfalse;
}
returntrue;
}
functionisInteger(str,thisInput){//是整数
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
str=str.trim();
if(str.length==0){
returntrue;
}
varreg="0123456789";
for(vari=0;i<str.length;i++){
varm=str.charAt(i);
if(reg.indexOf(m)==-1){
writeValidateInfo('请输入整数!',thisInput);
returnfalse;
}
}
returntrue;
}
functionisNormalStrOnWeb(s,thisInput){//是普通字符(非html标记)
if(s.substring(0,1)=="<"||s.substring(0,1)=="\>"||s.substring(0,1)==""){
writeValidateInfo("焦点处不能以<或\>或空格开头",thisInput);
returnfalse;
}
if(!HoldCode(s)){
writeValidateInfo("焦点处不能输入全角\"·\"/\"—\"/\"——\"字符",thisInput);
returnfalse;
}
if(s.trim().length>0){
if(s.indexOf("\"")>-1){
writeValidateInfo("焦点处不能输入双引号!!",thisInput);
returnfalse;
}
if(s.indexOf("\'")>-1){
writeValidateInfo("焦点处不能输入单引号",thisInput);
returnfalse;
}
if(s.indexOf("\\")>-1){
writeValidateInfo("焦点处不能输入'\\'",thisInput);
returnfalse;
}
}
returntrue;
}
//基本函数列表
functionJtrim(str){//去空隔函数
vari=0;
varlen=str.length;
if(str=="")return(str);
varj=len-1;
varflagbegin=true;
varflagend=true;
while(flagbegin==true&&i<len){
if(str.charAt(i)==""){
i=i+1;
flagbegin=true;
}else{
flagbegin=false;
}
}
while(flagend==true&&j>=0){
if(str.charAt(j)==""){
j=j-1;
flagend=true;
}else{
flagend=false;
}
}
if(i>j)
return("");
vartrimstr=str.substring(i,j+1);
returntrimstr;
}
functionisNumber(s){//数字判断函数
s=s.trim();
if(s.length==0){
returntrue;
}
vardigits="0123456789";
vari=0;
varsLength=s.length;
while((i<sLength)){
varc=s.charAt(i);
if(digits.indexOf(c)==-1){
returnfalse;
}
i++;
}
returntrue;
}
functionischinese(s){//判断是否中文函数
varret=true;
for(vari=0;i<s.length;i++)
ret=ret&&(s.charCodeAt(i)>=10000);
returnret;
}
/**********************************************************************
*VenusWebJavaScriptCode:HTC表单通用检验(完善中)
***********************************************************************/
functionHoldCode(str){
for(vari=0;i<str.length;i++){
if(str.charCodeAt(i)==8212||str.charCodeAt(i)==183){
returnfalse;
}
}
returntrue;
}
functionvalidateForm(current_form){
for(vari=0;i<current_form.length;i++){
if(current_form[i].type=="text"||current_form[i].type=="radio"){
if(current_form[i].value.substring(0,1)=="<"||current_form[i].value.substring(0,1)=="\>"||current_form[i].value.substring(0,1)==""){
alert("焦点处不能以<或\>或空格开头");
current_form[i].focus();
current_form[i].select();
returnfalse;
}
if(getStrLength(current_form[i].value)>current_form[i].maxLength){
alert("焦点处输入长度超长\n请确保输入长度在"+current_form[i].maxLength+"以内");
current_form[i].focus();
current_form[i].select();
returnfalse;
}
if(!HoldCode(current_form[i].value)){
alert("焦点处不能输入全角\"·\"/\"—\"/\"——\"字符");
current_form[i].focus();
current_form[i].select();
returnfalse;
}
if(!is_empty(current_form[i].value)){
if(current_form[i].name=="scriptDefine"){
returntrue;
}
if(current_form[i].value.indexOf("\"")>-1){
alert("焦点处不能输入双引号");
current_form[i].focus();
current_form[i].select();
returnfalse;
}
}
}
}
returntrue;
}
functioncheckNumber(s,inputName){
try{
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
s=s.trim();
if(s.length==0){
returntrue;
}
varthisObj=event.srcElement;
varmaxLength=thisObj.integerDigits;
varscale=thisObj.decimalDigits;
returncheckNumberImpl(s,maxLength,scale);
}catch(e){
}
}
functioncheckNumberImpl(s,maxLength,scale){//校验运行里程,小数,整数部分最多为10-2
if(s==""){
returntrue;
}
if(scale==undefined){
scale=0;
}
if(maxLength==undefined){
maxLength=38;
}
if(!isFloatNumber(s)){
returnfalse;
}
if(s.indexOf(".")>0){
if(s.indexOf(".")<=maxLength&&(Math.round(s*(pow(10,scale)))<(pow(10,(maxLength+scale))))){
returntrue;
}else{
alert("整数部分最大为"+(maxLength-scale)+"位!");
returnfalse;
}
}else{
if(s.length<=maxLength){
returntrue;
}else{
alert("整数部分最大为"+maxLength+"位!!");
returnfalse;
}
}
}
functionisFloatNumber(s,inputName){//判断是否
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
s=s.trim();
if(s.length==0){
returntrue;
}
vardigits="0123456789.";
vari=0;
varsLength=s.trim().length;
while((i<sLength)){
varc=s.charAt(i);
if(digits.indexOf(c)==-1){
writeValidateInfo("请输入有效数字!",inputName);
returnfalse;
}
i++;
}
if(s.indexOf(".")!=s.lastIndexOf(".")){
alert("小数点不对,请输入有效数字!");
returnfalse;
}else{
returntrue;
}
}
functionisSearch(s,thisInput){//不能输入非法字符
if(s.length==0)
returntrue;
varpatrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;'\,.<>?]{0,5000}$/;
varpatrn2=/[^\{\|\.\\,<>"'_}/]/;
if(!patrn.exec(s)||!patrn2.exec(s)){
writeValidateInfo('输入项中含非法字符,请重新输入!',thisInput);
returnfalse;
}
returntrue;
}
//===============================================================================================
/**
*验证数字(正整数或者包含小数的数字).
*/
functionisNumeric(value,thisInput){
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
value=value.trim();
if(value.length==0){
returntrue;
}
varreg=/^\d+(\.\d+)?$/;
if(!reg.test(value)){
writeValidateInfo("请输入正整数或者小数!",thisInput);
returnfalse;
}
returntrue;
}
/**
*验证数字(正整数).
*/
functioncheckInt(value,thisInput){
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
value=value.trim();
if(value.length==0){
returntrue;
}
varreg=/^[0-9]\d*$/;
if(!reg.test(value)){
writeValidateInfo("请输入正整数!",thisInput);
returnfalse;
}
returntrue;
}
/**
*验证数字(整数位最大为10位,可以带小数)
*/
functionvalidateNumericAndLength(value,thisInput){
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
value=value.trim();
if(value.length==0){
returntrue;
}
varreg=/^\d{1,10}(\.\d+)?$/;
if(!reg.test(value)){
writeValidateInfo("请输入正整数或者小数(整数位只能有10位)!",thisInput);
returnfalse;
}
returntrue;
}
/**
*验证数字(18,2)
*/
functionisNum18p2(value,thisInput){
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){}
value=value.trim();
if(value.length==0){
returntrue;
}
varreg=/^(-)?\d{1,16}(\.\d{1,2})?$/;
if(!reg.test(value)){
writeValidateInfo("请输入数字(整数位最多16位,小数位最多2位)!",thisInput);
returnfalse;
}
returntrue;
}
/**
*验证数字(18,4)
*/
functionisNum18p4(value,thisInput){
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){}
value=value.trim();
if(value.length==0){
returntrue;
}
varreg=/^(-)?\d{1,14}(\.\d{1,4})?$/;
if(!reg.test(value)){
writeValidateInfo("请输入数字(整数位最多14位,小数位最多4位)!",thisInput);
returnfalse;
}
returntrue;
}
/**
*验证数字(5,2)
*/
functionisNum5p2(value,thisInput){
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){}
value=value.trim();
if(value.length==0){
returntrue;
}
varreg=/^(-)?\d{1,3}(\.\d{1,2})?$/;
if(!reg.test(value)){
writeValidateInfo("请输入数字(整数位最多3位,小数位最多2位)!",thisInput);
returnfalse;
}
returntrue;
}
/**
*验证Email.
*/
functioncheckEmail(value,thisInput){
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
value=value.trim();
if(value.length==0){
returntrue;
}
varreg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
if(!reg.test(value)){
writeValidateInfo("请输入正确的Email地址!",thisInput);
returnfalse;
}
returntrue;
}
/**
*验证身份证(15位或者18位身份证).
*/
functioncheckIdCard(value,thisInput){
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
value=value.trim();
if(value.length==0){
returntrue;
}
varreg=/^\d{15}(\d{2}[A-Za-z0-9])?$/;
if(!reg.test(value)){
writeValidateInfo("请输入正确的身份证号码!",thisInput);
returnfalse;
}
returntrue;
}
/**
*验证邮政编码.
*/
functioncheckPostCode(value,thisInput){
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
value=value.trim();
if(value.length==0){
returntrue;
}
varreg=/^[0-9]\d{5}$/;
if(!reg.test(value)){
writeValidateInfo("请输入正确的邮政编码!",thisInput);
returnfalse;
}
returntrue;
}
/**
*验证是否为中文字符.
*/
functioncheckChinese(value,thisInput){
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
value=value.trim();
if(value.length==0){
returntrue;
}
varreg=/^[\u0391-\uFFE5]+$/;
if(!reg.test(value)){
writeValidateInfo("请输入中文字符!",thisInput);
returnfalse;
}
returntrue;
}
/**
*验证是否为非法字符.
*/
functioncheckInvalidString(value,thisInput){
varreg=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]*$/;
if(!reg.exec(value)){
writeValidateInfo("输入的字符中包含特殊字符,请重新输入!",thisInput);
returnfalse;
}
returntrue;
}
functioncheckMoney(s,inputName){
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
s=s.trim();
if(s.length==0){
returntrue;
}
if(s==""){
writeValidateInfo("金额不能为空!",inputName);
returnfalse;
}
if(isFloatNumber(s,inputName)==false){
writeValidateInfo("非法金额值!",inputName);
returnfalse;
}
varmaxLength=10;
varscale=2;
returncheckNumberImpl(s,maxLength,scale,inputName);
}
/**
*校验分数是否在0-100
*/
functionisAdultAge(str,thisInput){//是整数
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
str=str.trim();
if(str.length==0){
returntrue;
}
if(parseInt(str)<0||parseInt(str)>100){
writeValidateInfo('请输入合法分数(0--100之间)!',thisInput);
returnfalse;
}
returntrue;
}
/**
*6级强度设置(数字、大写字母、小写字母、特殊字符、长度>=6、长度>=10)
*如果密码为空,返回0
*/
functionpwdStrength(pwd){
varsum=[0,0,0];
for(vari=0;i<pwd.length;i++){
varc=pwd.charCodeAt(i);
if(c>=48&&c<=57)//数字
sum[0]=1;
elseif(c>=65&&c<=90)//大写字母
sum[1]=1;
elseif(c>=97&&c<=122)//小写字母
sum[1]=1;
else//特殊字符
sum[2]=1;
}
varlevel=sum[0]+sum[1]+sum[2];
if(pwd.length>=8)level++;
returnlevel;
}
functionisBiggerZero(value,thisInput){//已经是数字,然后必须大于0
if(thisInput.value<=0){
writeValidateInfo('请输入一个大于零的数字!',thisInput);
returnfalse;
}
returntrue;
}
functionisNonnegative(value,thisInput){
if(thisInput.value<0){
writeValidateInfo('请输入一个非负的数字!',thisInput);
returnfalse;
}
returntrue;
}
/**
*验证数字(20,6)
*/
functionisNum20p6(value,thisInput){
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){}
value=value.trim();
if(value.length==0){
returntrue;
}
varreg=/^(-)?\d{1,14}(\.\d{1,6})?$/;
if(!reg.test(value)){
writeValidateInfo("请输入数字(整数位最多14位,小数位最多6位)!",thisInput);
returnfalse;
}
returnisBiggerZero(value,thisInput);
}
/**
*验证数字(18,6)
*/
functionisNum18p6(value,thisInput){
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){}
value=value.trim();
if(value.length==0){
returntrue;
}
varreg=/^(-)?\d{1,12}(\.\d{1,6})?$/;
if(!reg.test(value)){
writeValidateInfo("请输入数字(整数位最多12位,小数位最多6位)!",thisInput);
returnfalse;
}
returnisBiggerZero(value,thisInput);
}
functionisNonnegative20p6(value,thisInput){
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){}
value=value.trim();
if(value.length==0){
returntrue;
}
varreg=/^(-)?\d{1,14}(\.\d{1,6})?$/;
if(!reg.test(value)){
writeValidateInfo("请输入数字(整数位最多14位,小数位最多6位)!",thisInput);
returnfalse;
}
returnisNonnegative(value,thisInput);
}
/**
*验证数字(20,4)
*/
functionisNum20p4(value,thisInput){
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){}
value=value.trim();
if(value.length==0){
returntrue;
}
varreg=/^(-)?\d{1,16}(\.\d{1,4})?$/;
if(!reg.test(value)){
writeValidateInfo("请输入数字(整数位最多16位,小数位最多4位)!",thisInput);
returnfalse;
}
returnisBiggerZero(value,thisInput);
}
/**
*供应商输入的单批次保证金金额只能是正整数并且只能精确到百位
*/
functionisDPCBZJ(value,thisInput){
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){
}
value=value.trim();
if(value.length==0){
returntrue;
}
varreg=/^[1-9]\d*00$/;
if(!reg.test(value)){
writeValidateInfo("请输入正确的保证金金额!",thisInput);
returnfalse;
}
returntrue;
}
//报表招标年度起始年度不能大于终止年度的判断
functionvalidateYear(startYear,endYear,flag){
if(startYear>endYear){
if(flag==1){
alert("起始月份不能大于终止月份");
returnfalse;
}else{
alert("招标起始年度不能大于终止年度");
returnfalse;
}
}
returntrue;
}
以上就是本文的全部内容,希望对大家的学习有所帮助。
