类似于.Net Validator控件功能JS实现
///<summary>必填必选项控件赋值检验 - RequiredFieldValidator</summary>///
///<parms>ToControl - 要检测的控件; ValidControl - 显示验证消息的控件;</parms>///
///<returns>true/false;</returns>///
///<invoke>ToControl.OnBlur();</invoke>///
function OnValidRequiredField(ToControl,ValidControl)
{
var validValue;
var objToControl;
var objValidControl;
objToControl = document.getElementById(ToControl);
objValidControl = document.getElementById(ValidControl);
if(objToControl.tagName.toLowerCase() == 'select')
{
validValue = objToControl.options[objToControl.selectedIndex].text;
}
else
{
validValue = objToControl.value;
}
if(validValue.trim() == '')
{
objValidControl.style.display='block';
return false;
}
objValidControl.style.display='none';
return true;
}
///<parms>ToControl - 要检测的控件; ValidControl - 显示验证消息的控件;</parms>///
///<returns>true/false;</returns>///
///<invoke>ToControl.OnBlur();</invoke>///
function OnValidRequiredField(ToControl,ValidControl)
{
var validValue;
var objToControl;
var objValidControl;
objToControl = document.getElementById(ToControl);
objValidControl = document.getElementById(ValidControl);
if(objToControl.tagName.toLowerCase() == 'select')
{
validValue = objToControl.options[objToControl.selectedIndex].text;
}
else
{
validValue = objToControl.value;
}
if(validValue.trim() == '')
{
objValidControl.style.display='block';
return false;
}
objValidControl.style.display='none';
return true;
}
//全局正则变量
var RegEmail=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
var RegPost=/\d{6}/;
///<summary>控件赋值正则验证 - RegularExpressionValidator</summary>///
///<parms>ToControl - 要检测的控件; ValidControl - 显示验证消息的控件; ValidationExpression - 正则表达式;
// DynamicDisplay - 是否动态显示消息; IsRequired - 是否是必填项; AlertMsg - 显示消息;</parms>///
///<returns>true/false;</returns>///
///<invoke>ToControl.OnBlur();</invoke>///
function OnValidRegularExpression(ToControl,ValidControl, ValidationExpression, DynamicDisplay, IsRequired, AlertMsg)
{
var validValue;
var objToControl;
var objValidControl;
objToControl = document.getElementById(ToControl);
objValidControl = document.getElementById(ValidControl);
validValue = objToControl.value.trim();
objValidControl.style.color='#ff0000';
if(IsRequired==false && validValue=='' && DynamicDisplay == true)
{
objValidControl.style.display='none';
return true;
}
if(validValue.match(ValidationExpression) == null)
{
if(AlertMsg!=undefined && AlertMsg!='')
{
objValidControl.innerHTML=AlertMsg;
}
objValidControl.style.display='block';
return false;
}
if(DynamicDisplay == true)
{
objValidControl.style.display='none';
}
else if(objValidControl.style.display=='none')
{
objValidControl.style.display='block';
}
return true;
}
///<summary>控件赋值相同比较 - CompareValidator</summary>///
///<parms>ToControl - 比较参照控件; ToValidControl - 比较检测的控件; ValidControl - 显示验证消息的控件; AlertMsg - 显示消息;</parms>///
///<returns>相同-true/不相同-false;</returns>///
///<invoke>ToControl.OnBlur();</invoke>///
function OnValidCompare(ToControl,ToValidControl,ValidControl,AlertMsg)
{
var referenceValue;
var validValue;
var objToControl;
var objValidControl;
objToControl = document.getElementById(ToControl);
objToValidControl = document.getElementById(ToValidControl);
objValidControl = document.getElementById(ValidControl);
referenceValue = objToControl.value.trim();
validValue = objToValidControl.value.trim();
objValidControl.style.color='#ff0000';
if(validValue != referenceValue)
{
if(AlertMsg!=undefined && AlertMsg!='')
{
objValidControl.innerHTML=AlertMsg;
}
objValidControl.style.display='block';
return false;
}
objValidControl.style.display='none';
return true;
var RegEmail=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
var RegPost=/\d{6}/;
///<summary>控件赋值正则验证 - RegularExpressionValidator</summary>///
///<parms>ToControl - 要检测的控件; ValidControl - 显示验证消息的控件; ValidationExpression - 正则表达式;
// DynamicDisplay - 是否动态显示消息; IsRequired - 是否是必填项; AlertMsg - 显示消息;</parms>///
///<returns>true/false;</returns>///
///<invoke>ToControl.OnBlur();</invoke>///
function OnValidRegularExpression(ToControl,ValidControl, ValidationExpression, DynamicDisplay, IsRequired, AlertMsg)
{
var validValue;
var objToControl;
var objValidControl;
objToControl = document.getElementById(ToControl);
objValidControl = document.getElementById(ValidControl);
validValue = objToControl.value.trim();
objValidControl.style.color='#ff0000';
if(IsRequired==false && validValue=='' && DynamicDisplay == true)
{
objValidControl.style.display='none';
return true;
}
if(validValue.match(ValidationExpression) == null)
{
if(AlertMsg!=undefined && AlertMsg!='')
{
objValidControl.innerHTML=AlertMsg;
}
objValidControl.style.display='block';
return false;
}
if(DynamicDisplay == true)
{
objValidControl.style.display='none';
}
else if(objValidControl.style.display=='none')
{
objValidControl.style.display='block';
}
return true;
}
///<summary>控件赋值相同比较 - CompareValidator</summary>///
///<parms>ToControl - 比较参照控件; ToValidControl - 比较检测的控件; ValidControl - 显示验证消息的控件; AlertMsg - 显示消息;</parms>///
///<returns>相同-true/不相同-false;</returns>///
///<invoke>ToControl.OnBlur();</invoke>///
function OnValidCompare(ToControl,ToValidControl,ValidControl,AlertMsg)
{
var referenceValue;
var validValue;
var objToControl;
var objValidControl;
objToControl = document.getElementById(ToControl);
objToValidControl = document.getElementById(ToValidControl);
objValidControl = document.getElementById(ValidControl);
referenceValue = objToControl.value.trim();
validValue = objToValidControl.value.trim();
objValidControl.style.color='#ff0000';
if(validValue != referenceValue)
{
if(AlertMsg!=undefined && AlertMsg!='')
{
objValidControl.innerHTML=AlertMsg;
}
objValidControl.style.display='block';
return false;
}
objValidControl.style.display='none';
return true;
<script language="javascript">
<!--
///<summary>提交总体验证 - ValidationSummary </summary>///
///<invoke>SubmitButton.Click();</invoke>///
function OnValidSummary()
{
var retVal=true;
var varSummary;
varSummary='';
varSummary += '<ul style="color:red; font-style:oblique;">';
if(!OnValidRequiredField("txtTitle","spnValidTitle")) {varSummary += '<li>新闻标题必填</li>'; retVal=false;}
if(!OnValidRequiredField("selType","spnValidType")) {varSummary += '<li>所属类型必选</li>'; retVal=false;}
if(!OnValidRequiredField("txtEditor","spnValidContent")) {varSummary += '<li>内容不能为空</li>'; retVal=false;}
varSummary += '</ul>';
document.getElementById('divValidSummary').style.display="block";
document.getElementById('divValidSummary').innerHTML=unescape(varSummary);
return retVal;
}
//-->
</script>
<!--
///<summary>提交总体验证 - ValidationSummary </summary>///
///<invoke>SubmitButton.Click();</invoke>///
function OnValidSummary()
{
var retVal=true;
var varSummary;
varSummary='';
varSummary += '<ul style="color:red; font-style:oblique;">';
if(!OnValidRequiredField("txtTitle","spnValidTitle")) {varSummary += '<li>新闻标题必填</li>'; retVal=false;}
if(!OnValidRequiredField("selType","spnValidType")) {varSummary += '<li>所属类型必选</li>'; retVal=false;}
if(!OnValidRequiredField("txtEditor","spnValidContent")) {varSummary += '<li>内容不能为空</li>'; retVal=false;}
varSummary += '</ul>';
document.getElementById('divValidSummary').style.display="block";
document.getElementById('divValidSummary').innerHTML=unescape(varSummary);
return retVal;
}
//-->
</script>
//去除字符串空格
function trim(s)
{
return s.replace(/(^\s+)|(\s+$)/g,"");
}
// 增加一个名为 trim 的函数作为
// String 构造函数的原型对象的一个方法。
String.prototype.trim = function()
{
// 用正则表达式将前后空格
// 用空字符串替代。
return this.replace(/(^\s*)|(\s*$)/g, "");
}
function trim(s)
{
return s.replace(/(^\s+)|(\s+$)/g,"");
}
// 增加一个名为 trim 的函数作为
// String 构造函数的原型对象的一个方法。
String.prototype.trim = function()
{
// 用正则表达式将前后空格
// 用空字符串替代。
return this.replace(/(^\s*)|(\s*$)/g, "");
}