能否给几个javascript验证表单的程序?

liuliu680722 2002-01-31 10:57:07
谁有javascript验证表单的程序?全面一点的?
最好有验证只允许输入数字和-符号的程序?
非常感谢!!
...全文
68 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluesx 2002-02-19
  • 打赏
  • 举报
回复
收藏...
北极海hein 2002-02-07
  • 打赏
  • 举报
回复
/*****************************************************************
*电子邮件的格式是否合法
*****************************************************************/

function isEmail(theStr) {
var atIndex = theStr.indexOf('@');
var dotIndex = theStr.indexOf('.', atIndex);
var flag = true;
theSub = theStr.substring(0, dotIndex+1)

if ((atIndex < 1)||(atIndex != theStr.lastIndexOf('@'))||(dotIndex < atIndex + 2)||(theStr.length <= theSub.length))
{ flag = false; }
else { flag = true; }

return(flag);
}

/*****************************************************************
*检查值是否为空
*****************************************************************/

function isEmpty (str) {
if ((str==null)||(str.length==0)) return true;
else return(false);
}

/*****************************************************************
*检查值是否为整数
*****************************************************************/

function isInt (theStr) {
var flag = true;

if (isEmpty(theStr)) { flag=false; }
else
{ for (var i=0; i<theStr.length; i++) {
if (isDigit(theStr.substring(i,i+1)) == false) {
flag = false; break;
}
}
}
return(flag);
}

/*****************************************************************
*检查值是否为实数
*****************************************************************/

function isReal (theStr, decLen) {
var dot1st = theStr.indexOf('.');
var dot2nd = theStr.lastIndexOf('.');
var OK = true;

if (isEmpty(theStr)) return false;

if (dot1st == -1) {
if (!isInt(theStr)) return(false);
else return(true);
}

else if (dot1st != dot2nd) return (false);
else if (dot1st==0) return (false);
else {
var intPart = theStr.substring(0, dot1st);
var decPart = theStr.substring(dot2nd+1);

if (decPart.length > decLen) return(false);
else if (!isInt(intPart) || !isInt(decPart)) return (false);
else if (isEmpty(decPart)) return (false);
else return(true);
}
}
北极海hein 2002-02-07
  • 打赏
  • 举报
回复
/*****************************************************************
*检查日期格式是否是一个有效的时间格式
*****************************************************************/
function isTime (theStr) {
var colonDex = theStr.indexOf(':');

if ((colonDex<1) || (colonDex>2)) { return(false); }
else {
var hh = theStr.substring(0,colonDex);
var ss = theStr.substring(colonDex+1, theStr.length);

if ((hh.length<1) || (hh.length>2) || (!isInt(hh))) { return(false); }
else if ((ss.length<1) || (ss.length>2) || (!isInt(ss))) { return(false); }
else if ((!isBetween(hh,0,23)) || (!isBetween(ss,0,59))) { return(false); }
else { return(true); }
}
}
/*****************************************************************
*检查值是否为数字
*****************************************************************/

function isDigit(theNum) {
var theMask = '0123456789';

if (isEmpty(theNum)) return(false);
else if (theMask.indexOf(theNum) == -1) return(false);

return(true);
}
/*****************************************************************
*检查值是否为字母
*****************************************************************/

function isChart(theNum) {
var theMask = 'abcdefghijklmnopqrstuvwxyz - AQWERTYUIOPLKJHGFDSZXCVBNM_,.';
if (isEmpty(theNum)) return(false);
else
{
for(i=0;i<theNum.length;i++)
{
if (theMask.indexOf(theNum.substring(i,+i+1)) == -1) return(false);
}
}
return(true);
}
北极海hein 2002-02-07
  • 打赏
  • 举报
回复
/*****************************************************************
* CheckForm.js
*****************************************************************/
/*****************************************************************
*检查一个值是否在两个指定值的中间
*****************************************************************/
function isBetween (val, lo, hi) {
if ((val < lo) || (val > hi)) { return(false); }
else { return(true); }
}

/*****************************************************************
*检查日期格式是否合法
*****************************************************************/

function isDate (theStr) {
var the1st = theStr.indexOf('-');
var the2nd = theStr.lastIndexOf('-');

if (the1st == the2nd) { return(false); }
else {
var y = theStr.substring(0,the1st);
var m = theStr.substring(the1st+1,the2nd);
var d = theStr.substring(the2nd+1,theStr.length);
var maxDays = 31;

if (isInt(m)==false || isInt(d)==false || isInt(y)==false) {
return(false); }
else if (y.length < 4) { return(false); }
else if (!isBetween (m, 1, 12)) { return(false); }
else if (m==4 || m==6 || m==9 || m==11) maxDays = 30;
else if (m==2) {
if (y % 4 > 0) maxDays = 28;
else if (y % 100 == 0 && y % 400 > 0) maxDays = 28;
else maxDays = 29;
}
if (isBetween(d, 1, maxDays) == false) { return(false); }
else { return(true); }
}
}
孟子E章 2002-01-31
  • 打赏
  • 举报
回复
搜索!
ohno 2002-01-31
  • 打赏
  • 举报
回复
kao
不给分谁理你啊
cpplus 2002-01-31
  • 打赏
  • 举报
回复
搜索!

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧