请问解决整数,货币,INT,DOUBLE,等类型的JavaScript验证--不是高手不要来--给分多多--请快帮忙

孤独求败1978 2002-11-15 09:10:21
最近工程中需要验证数据,自然用的是JavaScript,比较头痛的是
1、验证年月日yyyy-mm-dd 和yyyy-mm-dd xx:xx
2、验证金钱类型:如 589.21
3、验证 整数,数字
我个人有一些脚本,但做的不好,不是不能完全验证,就是写的超级复杂,在这里看见不少高手脚本,但刚好没有我需要的,请各位高手指点,谢谢。
分绝对给,骗人是小狗,嫌少e-MAIL: lz.@263.net 我给加
感谢!
...全文
726 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhjzh_zjz 2002-11-15
  • 打赏
  • 举报
回复
最简单的办法是直接调用vbscript已有函数,再写一个函数,然后在javascript里面调用即可。
如判断日期
<script language=vbscript>
<!--
function myCheckDate(val)
if IsDate(val) then
myCheckDate=true
else
myCheckDate=false
end if
end function
-->
</script>

然后
<script language="javascript">
alert(myCheckDate("2002-10-02"))
</script>

其他一样处理
孤独求败1978 2002-11-15
  • 打赏
  • 举报
回复
晕 还是不能用,我是用HTML测试的 没挂JSP
可爱的微软立刻告诉我 对象不支持 此属性或方法 然后在下句加了黄色标识
var r = str.match(reg);
我的测试代码为以下:(另外你的测试年的函数也报这个问题,是不是我的测试写法有问题?我的IE是6.0 系统2000Server)

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 3</title>
<script language=javascript>
function strDateTime(str){
var reg = /^(\d{1,4})-(\d{1,2})-(\d{1,2})\s(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], --r[2],r[3],r[4],r[5]);
if(d.getFullYear()!=r[1])return false;
if(d.getMonth()!=r[2])return false;
if(d.getDate()!=r[3])return false;
if(d.getHours()!=r[4])return false;
if(d.getMinutes()!=r[5])return false;
return true;
}
alert(strDateTime("2000-01-01 12:10"))
</script>
</head>
<body>
<input name=b alt="日期1" onblur="strDateTime(this)" >
</body>
</html>
bencalie 2002-11-15
  • 打赏
  • 举报
回复
var re=/^(([0-1][0-9])|(2[0-3])):([0-5][0-9])$/g;

这样就好了
bencalie 2002-11-15
  • 打赏
  • 举报
回复
<script>
function check(ctime)
{
var re=/(([0-1][0-9])|(2[0-3])):([0-5][0-9])/g;
alert(re.test(ctime));
}
check("004:00")
</script>
Reker熊 2002-11-15
  • 打赏
  • 举报
回复
<script>
function check(ctime)
{
var re=/(([0-1][0-9])|(2[0-3])):([0-5][0-9])/g;
alert(re.test(ctime));
}
check("12:12")
check("24:23")
check("24:00")
check("17:67")
</script>
bencalie 2002-11-15
  • 打赏
  • 举报
回复
改了秋水的,她那个不用做太大改动

<script language=javascript>
function strDateTime(str){
var reg = /^(\d{1,4})-(\d{1,2})-(\d{1,2})\s(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], --r[2],r[3],r[4],r[5]);
if(d.getFullYear()!=r[1])return false;
if(d.getMonth()!=r[2])return false;
if(d.getDate()!=r[3])return false;
if(d.getHours()!=r[4])return false;
if(d.getMinutes()!=r[5])return false;
return true;
}
alert(strDateTime("2000-01-01 12:10"))
</script>
孤独求败1978 2002-11-15
  • 打赏
  • 举报
回复
再请问:
验证 时间的JavaScript有吗?格式 12:00
谢谢
bencalie 2002-11-15
  • 打赏
  • 举报
回复
<script>
//检查是否为任意数(实数)
function isNumeric(strNumber) {
var newPar=/^(-|\+)?\d+(\.\d+)?$/
return newPar.test(strNumber);
}
//检查是否为正数
function isUnsignedNumeric(strNumber) {
var newPar=/^\d+(\.\d+)?$/
return newPar.test(strNumber);
}
//检查是否为整数
function isInteger(strInteger) {
var newPar=/^(-|\+)?\d+$/
return newPar.test(strInteger);
}
//检查是否为正整数
function isUnsignedInteger(strInteger) {
var newPar=/^\d+$/
return newPar.test(strInteger);
}
</script>

日期格式匹配的正则表达式问题!
http://expert.csdn.net/Expert/topicview.asp?id=1088786

87,776

社区成员

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

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