综合的判断用户输入的合法性的函数

本文介绍了一种前端表单验证的方法,包括限制输入字符数量、检查密码一致性、判断输入是否为空、验证用户名格式、日期格式、固定位数、电话号码、电子邮件地址以及中文输入等。这些方法有助于提高用户体验并确保数据的有效性和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1<script language="javascript">
  2//限制输入字符的位数开始
  3//m是用户输入,n是要限制的位数
  4function issmall(m,n)
  5{
  6if ((m<n) && (m>0))
  7  {
  8  return(false);
  9  }
10else
11{return(true);}
12}
13
14//限制输入字符的位数结束
15
16//判断密码是否输入一致开始
17function issame(str1,str2)
18{
19if (str1==str2)
20{return(true);}
21else
22{return(false);}
23}
24//判断密码是否输入一致结束
25
26//判断是否为空开始
27function isnotnull(str)
28{
29if (str.length=="")
30  {
31  return(false);
32  }
33else
34{
35  return(true);
36}
37}
38
39//判断是否为空结束
40
41
42//判断用户名是否为数字字母下滑线开始
43function notchinese(str){
44var reg=/[^A-Za-z0-9_]/g
45    if (reg.test(str)){
46    return (false);
47    }else{
48return(true);    }
49}
50
51//判断用户名是否为数字字母下滑线结束
52
53//判断是否为日期型开始
54function isDate (theStr) {
55    var the1st = theStr.indexOf('-');
56    var the2nd = theStr.lastIndexOf('-');
57   
58    if (the1st == the2nd) { return(false); }
59    else {
60        var y = theStr.substring(0,the1st);
61        var m = theStr.substring(the1st+1,the2nd);
62        var d = theStr.substring(the2nd+1,theStr.length);
63        var maxDays = 31;
64       
65        if (fucCheckNUM(m)==false || fucCheckNUM(d)==false || fucCheckNUM(y)==false) {
66            return(false); }
67        else if (y.length < 4) { return(false); }
68        else if ((m<1) || (m>12)) { return(false); }
69        else if (m==4 || m==6 || m==9 || m==11) maxDays = 30;
70        else if (m==2) {
71            if (y % 4 > 0) maxDays = 28;
72            else if (y % 100 == 0 && y % 400 > 0) maxDays = 28;
73               else maxDays = 29;
74        }
75        if  ((m<1) || (m>maxDays)) { return(false); }
76        else { return(true); }
77    }
78}
79
80function fucCheckNUM(NUM)
81{
82    var i,j,strTemp;
83    strTemp="0123456789";
84    if ( NUM.length== 0)
85        return 0
86    for (i=0;i<NUM.length;i++)
87    {
88        j=strTemp.indexOf(NUM.charAt(i));   
89        if (j==-1)
90        {
91        //说明有字符不是数字
92            return 0;
93        }
94    }
95    //说明是数字
96    return 1;
97}
98
99//判断是否为日期型结束
100
101
102//判断是否为固定的位数开始
103function isatn(m,n)
104{
105if (m!=n)
106  {
107  return(false);
108  }
109else
110{
111return(true);}
112}
113//判断是否为固定的位数结束
114
115//判断是否为电话号码开始
116function istel(telstr)
117{
118   var reg=/[^0-9-]/g;
119   if (telstr!="") {
120   if (reg.test(telstr)){
121   return(false);
122   }
123   else
124   {
125   return(true);
126   }
127   }
128   }
129//判断是否为电话号码结束
130
131//判断是否为email开始
132function isemail(emailstr) {
133        if ((emailstr.indexOf('@', 0) == -1) || emailstr.indexOf('.') == -1)
134                {
135            return false
136        }
137        else {
138            return true
139        }
140    }
141//判断是否为email结束
142
143//中文输入判断开始
144function ischinese(str){
145var reg=/[^A-Za-z0-9_]/g
146    if (reg.test(str)){
147    return (true);
148    }else{
149return(false);    }
150}
151//中文输入判断结束
152</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值