我想把表单做成一个集成的验证函数,是这样想的:
Function(strDataType,MinNum,MaxNum,strText)
{
if(strDataType=="Str")
{
//说明我现在需要验证用户输入的数据是字符型数据,如果不是则跳出错误,提示重新输入
//字符的长度必须是最小为MinNum个,最长的长度为MaxNum个,否则跳出错误提示
//错误提示为:你输入的strText(为输入文本框的自己定义的名称)信息错误,请重新输入
}
if(strDataType=="ChinaStr")
{
//说明我现在需要验证用户输入的数据是中文字符型数据
//原理和上面一样,只是不知道字符和汉字的长度在算法是否一致
}
if(strDataType=="strInt")
{
//说明我现在需要验证用户输入的数据是整型数据
//原理和上面一样
}
if(strDataType=="strFloat")
{
//说明我现在需要验证用户输入的数据是带数值型(可小数的数据)
//原理和上面一样
}
if(strDataType=="strDate")
{
//说明我现在需要验证用户输入的日期型数据
//原理和上面一样
}
}
------------------------------
上面这些在功能上不知道该如何完成,请各位指点,如果能用正则表达式来做是最好的
Function(strDataType,MinNum,MaxNum,strText)
{
if(strDataType=="Str")
{
//说明我现在需要验证用户输入的数据是字符型数据,如果不是则跳出错误,提示重新输入
//字符的长度必须是最小为MinNum个,最长的长度为MaxNum个,否则跳出错误提示
//错误提示为:你输入的strText(为输入文本框的自己定义的名称)信息错误,请重新输入
}
if(strDataType=="ChinaStr")
{
//说明我现在需要验证用户输入的数据是中文字符型数据
//原理和上面一样,只是不知道字符和汉字的长度在算法是否一致
}
if(strDataType=="strInt")
{
//说明我现在需要验证用户输入的数据是整型数据
//原理和上面一样
}
if(strDataType=="strFloat")
{
//说明我现在需要验证用户输入的数据是带数值型(可小数的数据)
//原理和上面一样
}
if(strDataType=="strDate")
{
//说明我现在需要验证用户输入的日期型数据
//原理和上面一样
}
}
------------------------------
上面这些在功能上不知道该如何完成,请各位指点,如果能用正则表达式来做是最好的
<script type="text/javascript">
<!--
var reg = null;
function fromValid(sType, iMin, iMax, sVal){
if(sType == "Str"){
reg = new RegExp("^[a-zA-Z]{" + iMin + "," + iMax + "}$");
if(!reg.test(sVal)){
alert("输入规定长度的字符");
return false;
}
}else if(sType == "ChinaStr"){
reg = new RegExp("^[^u4e00-u9fa5]{" + iMin + "," + iMax + "}$");
if(!reg.test(sVal)){
alert("请输入规定长度的汉字");
return false;
}
}else if(sType == "strInt"){
reg = new RegExp("^[0-9]{" + iMin + "," + iMax + "}$");
if(!reg.test(sVal)){
alert("请输入规定长度的整数");
return false;
}
}
// 小数 和 日期 没写 不知道 你日期个小数规定长度的概念是啥
document.getElementById("ospan").innerHTML = "符合要求.你的验证格式为: " + reg;
} function validTest(){
var oval = document.getElementById("user").value;
fromValid("strInt", 3, 5, oval);
}//-->
</script>
<input type="text" id="user" />
<input type="button" value=" 测试 " onclick="validTest();" />
<span id="ospan"></span>
<script type="text/javascript">
<!--//-->
</script>
// 验证小数 min max 如果是控制小数位
else if(sType == "strFloat"){
reg = new RegExp("^(?:\\d)*\\.\\d{" + iMin + "," + iMax + "}$"); // 控制小数位的最大最小值
alert(reg)
if(!reg.test(sVal)){
alert("请输入规定长度的小数");
return false;
}
}
^(?:(?:(?:(?:(?:1[6-9]|[2-9][0-9])?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))([-/.])(?:0?2\1(?:29)))|(?:(?:(?:1[6-9]|[2-9][0-9])?[0-9]{2})([-/.])(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[13-9]|1[0-2])\2(?:29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1[0-9]|2[0-8]))))$// 带闰年的正则判断 自己加上 注意\ 在new RegExp中全换成\\即可