非常实用的js验证框架实现源码 附原理方法

前端之家收集整理的这篇文章主要介绍了非常实用的js验证框架实现源码 附原理方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文为大家分享一个很实用的js验证框架实现源码,供大家参考,具体内容如下

关键方法和原理:

方法中的 if (!eval(scriptCode)) { return false; }

调用示例:

代码如下:

验证时会自动调用:isNumeric 方法 和 notNull方法并返回验证的结果信息。

支持writeAlert和writePage,"writePage;writeAlert"

var rmTempStatusIsAlert = false;

var rmTempStatusIsFocus = false;

var beginValidate = true;

var set_All_Venus_Inputs_Default = true;

String.prototype.trim = function() { return this.replace(/(^\s)|(\s$)/g,""); }

function checkAllForms(){

var checkResult = true;

rmTempStatusIsAlert = false;
rmTempStatusIsFocus = false;
setAllVenusInputsDefault();

for (var i=0;i<document.forms.length;i++) {
for (var j=0;j<document.forms[i].elements.length;j++) {
var thisInput = 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+"以内");
            return false;
          }
        }
      }
    }
    */
    if(thisInput.id&&thisInput.id.indexOf("supplier_id_ref_")!=-1&&document.getElementById("unionDiv")&&document.getElementById("unionDiv").style.display=="none"){
      continue;
    }

    var rtValue = check(thisInput);
    if(checkResult && rtValue == false) {
      checkResult = false;
      break;
    }
  }
}

}
return checkResult;
}

function check(thisInput) {

var validateStr = thisInput.validate;
if(validateStr == null) {
return true;
}
var inputValue = thisInput.value;
if ( beginValidate ) {
var validateTemp = new Array();
validateTemp = validateStr.split(';');
for (var i=0;i<validateTemp.length;i++) {
if(validateTemp[i].length == 0) {
continue;
}
s = replaceSingleQuote(inputValue);
try{
var scriptCode = "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)) {
return false;
}
} catch(e) {
alert("校验函数"+validateTemp[i]+"有异常,请检查!" + "\n" + e.message );
return false;
}
}
}
return true;
}

function setAllVenusInputsDefault() {
var frmslen = document.forms.length;
for (var i=0;i<frmslen;i++) {
var inslen = document.forms[i].elements.length;
for (var j=0;j<inslen;j++) {
var frm = 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);
}
}
}
}
return true;
}

function setVenusInputDefault(_frm) {
_frm.style.borderStyle="";
_frm.style.borderColor="";
if( _frm.value != null ){
_frm.style.backgroundColor = "";
_frm.style.color = "";
}
}

function replaceEnter(_str) {
/替换换行回车字符/
var str = _str;

str = str.replace('\n','')
str = str.replace('\r','')

//alert(str.indexOf('\n'))

if(str.indexOf('\n')!=-1 &&str.indexOf('\r')!=-1) {
return replaceEnter(str);
} else {
return str;
}
}

function replaceSingleQuote(_str) {
/替换换行回车字符/
var str = _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);

return str;
}

function isContains(_validateStr,_validator) {
for (var i=0;i<_validateStr.length;i++)
{
if(_validateStr[i] == _validator)
return true;
}

return false;
}

function writeValidateInfo(info,thisObj) {
var inputName = 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;
}
}

function setVenusInputError(_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);
}
}

function writeValidateInfoAlert(info,thisObj) {
if(!rmTempStatusIsAlert) {
alert(info);
rmTempStatusIsAlert = true;
}
}

function writeValidateInfoAfterObject(info,thisObj) { //写校验信息
var validateInfoObj = 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","");
validateInfoObj = thisObj.nextSibling.nextSibling;
}
if(validateInfoObj.innerHTML.length > 0 || info.length > 0) {
validateInfoObj.innerHTML = info;
}
}

function getValidatePosition(thisObj) {
if(thisObj.nextSibling != null && thisObj.nextSibling.className == "refButtonClass") {
thisObj = getValidatePosition(thisObj.nextSibling);
} else if(thisObj.nextSibling != null && thisObj.nextSibling.type == "hidden"){
thisObj = getValidatePosition(thisObj.nextSibling);
}
return thisObj;
}

function getInputNameFromObject(thisInput) {
var inputName = thisInput.inputName ;
if ( inputName == null || inputName.length == 0 ){
inputName = thisInput.name;
if ( inputName == null || inputName.length == 0 ){
inputName = "";
}
}
return inputName;
}

function getStrLength(str){
var len = 0;
for(var i=0;i<str.length;i++){
if (str.charCodeAt(i) > 255)
len += 2;
else
len ++;
}
return len;
}

/**
*ranmin validate
***/
function notNull(s,thisInput) { //不能为空
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){

}
s=s.trim();

if (s.length == 0){
writeValidateInfo("不能为空或空格!",thisInput);
return false;
}
var s = Jtrim(s);
if ( s.length == 0){
writeValidateInfo("不能为空或空格!",thisInput);
return false;
}
return true;
}

function isJine(s,thisInput) { //不能为空
var a=/^[0-9]*(.[0-9]{1,2})?$/;
if(!a.test(s)){
writeValidateInfo("有非法字符或者小数点位数超过两位",thisInput);
return false;
}else{
return true;
}
}

function isMobile(s,thisInput) { //是手机号码:必须以数字开头,除数字外,可含有“-”
//去掉空格

try{
thisInput.value=thisInput.value.trim();
}catch(e){

}
s=s.trim();

if(s.length ==0){
return true;
}
var obj=new Array()
obj[0]="13";
obj[1]="14";
obj[2]="15";
obj[3]="18";

if(s != null ){
if(s.length != 11){
writeValidateInfo('请输入合法的手机号码!',thisInput);
return false;
}
var mob = 0;
for ( var int = 0; int < obj.length; int++) {
if(s.substring(0,2) == obj[int]){
mob = mob+1;
}
}
if(mob == 0){
writeValidateInfo('请输入合法的手机号码!',thisInput);
return false;
}
}
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) {
writeValidateInfo('请输入合法的手机号码!',thisInput);
return false;
}

return true;
}

function isPostalCode(s,thisInput) { //是邮政编码
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){

}
s=s.trim();

if(s.length ==0){
return true;
}

var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(s)) {
writeValidateInfo('请输入合法的邮政编码!',thisInput);
return false;
}

return true;
}

function isTel(s,thisInput) { //是电话普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){

}
s=s.trim();

if(s.length ==0){
return true;
}

var patrn=/^[+]{0,12})+$/;
if (!patrn.exec(s)) {
writeValidateInfo('请输入合法的电话号码!',thisInput);
return false
}

return true;
}

function isTelForFax(s,thisInput) { //是电话普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){

}
s=s.trim();

if(s.length ==0){
return true;
}
var patrn=/^(\d){3,4}-{7,8}$/;
if (!patrn.exec(s)) {
writeValidateInfo('请输入合法的座机号码,例如:010-88888888!',thisInput);
return false
}

return true;
}

function isFax(s,8}$/;
if (!patrn.exec(s)) {
writeValidateInfo('请输入合法的传真号码,例如:010-88888888!',thisInput);
return false
}

return true;
}

function isChinese(s,thisInput) { //是中文
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){

}
s=s.trim();

if(s.length ==0){
return true;
}

var ret = ischinese(s);
if(!ret){
writeValidateInfo("请输入中文",thisInput);
return ret;
}

return ret;
}

function notChinese(s,thisInput) { //不含中文
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){

}
s=s.trim();

if(s.length ==0){
return true;
}

var ret = ischinese(s);

if(ret){
writeValidateInfo("不能输入中文",thisInput);
return false;
}

return true;
}

function isNum(s,thisInput) { //是数字
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){

}
s=s.trim();

if(s.length ==0){
return true;
}

var digits = "0123456789";
var i = 0;
var sLength = s.length;

while ((i < sLength)) {
var c = s.charAt(i);
if (digits.indexOf(c) == -1){

  writeValidateInfo ("请输入数字!",thisInput);   
  return false;
}
i++;

}
return true;
}

function isNumBigtoZero(s,thisInput);
return false;
}
i++;
}
try{
if(thisInput.value<=0){
writeValidateInfo ("输入数值必须大于零!",thisInput);
return false;
}
}catch(e){

}
return true;
}
function isEmail(s,thisInput) { //是电子邮件
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){

}
s=s.trim();

if(s.length ==0){
return true;
}

if (s.length > 100) {
writeValidateInfo("email地址长度不能超过100位!",thisInput);
return false;
}

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)$/;

if (regu.exec(s)) {
return true;
} else {
writeValidateInfo ("请输入有效合法的E-mail地址 !",thisInput);
return false;
}
}

function isIP() { //是IP

var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)){
writeValidateInfo('请输入IP值!',thisInput);
return false
}
return true;
}

/**
*Venus Web JavaScript Code:HTC 校验notNull
***/
function notNullWithoutTrim(s,thisInput) { //是""
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){

}
s=s.trim();

if ( s.length == 0){
writeValidateInfo('请输入,该项不能为空!',thisInput);
return false;
}
return true;
}

function isInteger(str,thisInput) { //是整数
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){

}
str=str.trim();

if(str.length ==0){
return true;
}

var reg = "0123456789";
for (var i=0;i<str.length;i++){
var m = str.charAt(i);
if (reg.indexOf(m) == -1) {
writeValidateInfo('请输入整数!',thisInput);
return false;
}
}
return true;
}
function isNormalStrOnWeb(s,thisInput) { //是普通字符(非html标记)
if (s.substring(0,1) == "<" || s.substring(0,1) == ">" || s.substring(0,1) == " "){
writeValidateInfo("焦点处不能以<或>或空格开头",thisInput);
return false;
}

if (!HoldCode(s)){
writeValidateInfo("焦点处不能输入全角\"·\"/\"—\"/\"——\"字符",thisInput);
return false;
}
if (s.trim().length > 0){
if (s.indexOf("\"") > -1){
writeValidateInfo("焦点处不能输入双引号!!",thisInput);
return false;
}
if (s.indexOf("\'") > -1){
writeValidateInfo("焦点处不能输入单引号",thisInput);
return false;
}
if (s.indexOf("\") > -1){
writeValidateInfo("焦点处不能输入 '\' ",thisInput);
return false;
}
}
return true;
}

//基本函数列表
function Jtrim(str) { //去空隔函数
var i = 0;
var len = str.length;
if ( str == "" ) return( str );
var j = len -1;
var flagbegin = true;
var flagend = 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 ("");

var trimstr = str.substring(i,j+1);
return trimstr;
}

function isNumber(s) { //数字判断函数
s=s.trim();
if(s.length ==0){
return true;
}

var digits = "0123456789";
var i = 0;
var sLength = s.length;

while ((i < sLength)) {
var c = s.charAt(i);
if (digits.indexOf(c) == -1) {
return false;
}
i++;
}
return true;
}

function ischinese(s) { //判断是否中文函数
var ret=true;
for(var i=0;i<s.length;i++)
ret=ret && (s.charCodeAt(i)>=10000);
return ret;
}

/**
*Venus Web JavaScript Code:HTC 表单通用检验(完善中)
***/
function HoldCode(str){
for(var i=0;i<str.length;i++){
if (str.charCodeAt(i) == 8212 || str.charCodeAt(i) == 183){
return false;
}
}
return true;
}

function validateForm(current_form) {
for (var i=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();
return false;
}

  if (getStrLength(current_form[i].value) > current_form[i].maxLength){
      alert("焦点处输入长度超长\n请确保输入长度在" +current_form[i].maxLength+"以内");
      current_form[i].focus();
      current_form[i].select();
      return false;
  }
  if (!HoldCode(current_form[i].value)){
    alert("焦点处不能输入全角\"·\"/\"—\"/\"——\"字符");
    current_form[i].focus();
    current_form[i].select();
    return false;
  }
  if (!is_empty(current_form[i].value)){
    if (current_form[i].name == "scriptDefine"){
      return true;
    }
    if (current_form[i].value.indexOf("\"") > -1){
      alert("焦点处不能输入双引号");
      current_form[i].focus();
      current_form[i].select();
      return false;
    }
  }
}

}
return true;
}

function checkNumber(s,inputName) {
try{
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){

}
s=s.trim();

if(s.length ==0){
  return true;
}

var thisObj = event.srcElement;
var maxLength = thisObj.integerDigits;
var scale = thisObj.decimalDigits;
return checkNumberImpl(s,maxLength,scale);

}catch(e){
}
}

function checkNumberImpl(s,scale) { //校验运行里程,小数,整数部分最多为10-2
if(s == "") {
return true;
}
if(scale == undefined) {
scale = 0;
}
if(maxLength == undefined) {
maxLength = 38;
}
if(!isFloatNumber(s)) {
return false;
}
if(s.indexOf(".") >0) {
if(s.indexOf(".") <= maxLength && (Math.round(s*(pow(10,scale)))<(pow(10,(maxLength + scale))))) {
return true;
} else {
alert("整数部分最大为" + (maxLength - scale) + "位!");
return false;
}
} else {
if(s.length <= maxLength) {
return true;
} else {
alert("整数部分最大为" + maxLength + "位!!");
return false;
}
}
}

function isFloatNumber(s,inputName) { //判断是否
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){

}
s=s.trim();

if(s.length ==0){
return true;
}

var digits = "0123456789.";
var i = 0;
var sLength = s.trim().length;

while ((i < sLength)) {
var c = s.charAt(i);
if (digits.indexOf(c) == -1){
writeValidateInfo("请输入有效数字!",inputName);
return false;
}
i++;
}
if(s.indexOf(".") != s.lastIndexOf(".")) {
alert("小数点不对,请输入有效数字!");
return false;
} else {
return true;
}
}

function isSearch(s,thisInput) { //不能输入非法字符
if(s.length == 0 )
return true;
var patrn=/^[^~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^~!@$%^&()+=|\][]{}:;'\,.<>?]{0,5000}$/;
var patrn2 = /[^{|.\,<>"'_}/]/;
if (!patrn.exec(s) || !patrn2.exec(s)){
writeValidateInfo('输入项中含非法字符,请重新输入!',thisInput);
return false;
}
return true ;
}

//===============================================================================================
/**

  • 验证数字(正整数或者包含小数的数字).
    */
    function isNumeric(value,thisInput) {
    //去掉空格
    try{
    thisInput.value=thisInput.value.trim();
    }catch(e){

}
value=value.trim();

if(value.length ==0){
return true;
}

var reg = /^\d+(.\d+)?$/;

if (!reg.test(value)) {
writeValidateInfo ("请输入正整数或者小数!",thisInput);
return false;
}

return true;
}

/**

  • 验证数字(正整数).
    */
    function checkInt(value,thisInput) {
    //去掉空格
    try{
    thisInput.value=thisInput.value.trim();
    }catch(e){

}
value=value.trim();

if(value.length ==0){
return true;
}

var reg = /^[0-9]\d*$/;

if (!reg.test(value)) {
writeValidateInfo ("请输入正整数!",thisInput);
return false;
}

return true;
}
/**

  • 验证数字(整数位最大为10位,可以带小数)
    */
    function validateNumericAndLength(value,thisInput) {
    //去掉空格
    try{
    thisInput.value=thisInput.value.trim();
    }catch(e){

}
value=value.trim();

if(value.length ==0){
return true;
}

var reg = /^\d{1,10}(.\d+)?$/;

if (!reg.test(value)) {
writeValidateInfo ("请输入正整数或者小数(整数位只能有10位)!",thisInput);
return false;
}

return true;
}

/**

  • 验证数字(18,2)
    */
    function isNum18p2(value,thisInput) {
    //去掉空格
    try{
    thisInput.value=thisInput.value.trim();
    }catch(e){}
    value=value.trim();
    if(value.length ==0){
    return true;
    }
    var reg = /^(-)?\d{1,16}(.\d{1,2})?$/;
    if (!reg.test(value)) {
    writeValidateInfo ("请输入数字(整数位最多16位,小数位最多2位)!",thisInput);
    return false;
    }
    return true;
    }

/**

  • 验证数字(18,4)
    */
    function isNum18p4(value,14}(.\d{1,4})?$/;
    if (!reg.test(value)) {
    writeValidateInfo ("请输入数字(整数位最多14位,小数位最多4位)!",thisInput);
    return false;
    }
    return true;
    }

/**

  • 验证数字(5,2)
    */
    function isNum5p2(value,3}(.\d{1,2})?$/;
    if (!reg.test(value)) {
    writeValidateInfo ("请输入数字(整数位最多3位,小数位最多2位)!",thisInput);
    return false;
    }
    return true;
    }

/**

  • 验证Email.
    */
    function checkEmail(value,thisInput) {
    //去掉空格
    try{
    thisInput.value=thisInput.value.trim();
    }catch(e){

}
value=value.trim();

if(value.length ==0){
return true;
}

var reg = /^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$/;

if (!reg.test(value)) {
writeValidateInfo ("请输入正确的Email地址!",thisInput);
return false;
}

return true;
}

/**

  • 验证身份证(15位或者18位身份证).
    */
    function checkIdCard(value,thisInput) {
    //去掉空格
    try{
    thisInput.value=thisInput.value.trim();
    }catch(e){

}
value=value.trim();

if(value.length ==0){
return true;
}

var reg = /^\d{15}(\d{2}[A-Za-z0-9])?$/;

if (!reg.test(value)) {
writeValidateInfo ("请输入正确的身份证号码!",thisInput);
return false;
}

return true;
}

/**

  • 验证邮政编码.
    */
    function checkPostCode(value,thisInput) {
    //去掉空格
    try{
    thisInput.value=thisInput.value.trim();
    }catch(e){

}
value=value.trim();

if(value.length ==0){
return true;
}

var reg = /^[0-9]\d{5}$/;

if (!reg.test(value)) {
writeValidateInfo ("请输入正确的邮政编码!",thisInput);
return false;
}

return true;
}

/**

  • 验证是否为中文字符.
    */
    function checkChinese(value,thisInput) {
    //去掉空格
    try{
    thisInput.value=thisInput.value.trim();
    }catch(e){

}
value=value.trim();

if(value.length ==0){
return true;
}

var reg = /^[\u0391-\uFFE5]+$/;

if (!reg.test(value)) {
writeValidateInfo ("请输入中文字符!",thisInput);
return false;
}

return true;
}

/**

  • 验证是否为非法字符.
    /
    function checkInvalidString(value,thisInput) {
    var reg = /^[^`~!@#$%^&
    ()+=|\][]{}:;'\,.<>/?]*$/;

if (!reg.exec(value)) {
writeValidateInfo ("输入的字符中包含特殊字符,请重新输入!",thisInput);
return false;
}

return true;
}

function checkMoney(s,inputName) {
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){

}
s=s.trim();

if(s.length ==0){
return true;
}

if(s==""){
writeValidateInfo("金额不能为空!",inputName);
return false;
}
if(isFloatNumber(s,inputName)==false){
writeValidateInfo("非法金额值!",inputName);
return false;
}
var maxLength = 10;
var scale =2;
return checkNumberImpl(s,scale,inputName);
}

/**

  • 校验分数是否在0-100
    */
    function isAdultAge(str,thisInput) { //是整数
    //去掉空格
    try{
    thisInput.value=thisInput.value.trim();
    }catch(e){

    }
    str=str.trim();

    if(str.length ==0){
    return true;
    }

if(parseInt(str)<0 || parseInt(str)>100){
writeValidateInfo('请输入合法分数(0--100之间)!',thisInput);
return false;
}
return true;
}

/**

  • 6 级强度设置(数字、大写字母、小写字母、特殊字符、长度>=6、长度>=10)
  • 如果密码为空,返回 0
    */
    function pwdStrength(pwd) {
    var sum = [0,0];
    for (var i=0; i<pwd.length; i++) {
    var c = pwd.charCodeAt(i);
    if (c >=48 && c <=57) //数字
    sum[0] = 1;
    else if (c >=65 && c <=90) //大写字母
    sum[1] = 1;
    else if (c >=97 && c <=122) //小写字母
    sum[1] = 1;
    else //特殊字符
    sum[2] = 1;
    }
    var level = sum[0] + sum[1] + sum[2] ;
    if (pwd.length >= 8) level++;
    return level;
    }
    function isBiggerZero(value,thisInput) { //已经是数字,然后必须大于0
    if(thisInput.value<=0){
    writeValidateInfo('请输入一个大于零的数字!',thisInput);
    return false;
    }
    return true;
    }

function isNonnegative(value,thisInput) {
if(thisInput.value<0){
writeValidateInfo('请输入一个非负的数字!',thisInput);
return false;
}
return true;
}

/**

  • 验证数字(20,6)
    */
    function isNum20p6(value,thisInput) {
    //去掉空格
    try{
    thisInput.value=thisInput.value.trim();
    }catch(e){}
    value=value.trim();
    if(value.length ==0){
    return true;
    }

var reg = /^(-)?\d{1,6})?$/;
if (!reg.test(value)) {
writeValidateInfo ("请输入数字(整数位最多14位,小数位最多6位)!",thisInput);
return false;
}
return isBiggerZero(value,thisInput);
}

/**

  • 验证数字(18,6)
    */
    function isNum18p6(value,12}(.\d{1,6})?$/;
    if (!reg.test(value)) {
    writeValidateInfo ("请输入数字(整数位最多12位,小数位最多6位)!",thisInput);
    }

function isNonnegative20p6(value,thisInput) {
//去掉空格
try{
thisInput.value=thisInput.value.trim();
}catch(e){}
value=value.trim();
if(value.length ==0){
return true;
}

var reg = /^(-)?\d{1,thisInput);
return false;
}
return isNonnegative(value,thisInput);
}

/**

  • 验证数字(20,4)
    */
    function isNum20p4(value,4})?$/;
    if (!reg.test(value)) {
    writeValidateInfo ("请输入数字(整数位最多16位,小数位最多4位)!",thisInput);
    }

/**

  • 供应商输入的单批次保证金金额只能是正整数并且只能精确到百位
    */
    function isDPCBZJ(value,thisInput) {
    //去掉空格
    try{
    thisInput.value=thisInput.value.trim();
    }catch(e){

}
value=value.trim();

if(value.length ==0){
return true;
}

var reg = /^[1-9]\d*00$/;

if (!reg.test(value)) {
writeValidateInfo ("请输入正确的保证金金额!",thisInput);
return false;
}

return true;
}

//报表招标年度起始年度不能大于终止年度的判断
function validateYear(startYear,endYear,flag) {
if(startYear > endYear){
if(flag==1){
alert("起始月份不能大于终止月份");
return false;
}else{
alert("招标起始年度不能大于终止年度");
return false;
}
}
return true;
}

以上就是本文的全部内容,希望对大家学习JavaScript程序设计有所帮助。

猜你在找的JavaScript相关文章