您的位置:首页 > Web前端 > JavaScript

javaScript学习笔记(1)——js表单提交验证

2014-01-31 20:21 731 查看

附加:js验证radio是否选择

<script language="javascript">

function checkform(obj)

{

for(i=0;i<obj.oo.length;i++)

         if(obj.oo[i].checked==true) return true;

alert("请选择")

return false;        

}

</script>

<form id="form1" name="form1" method="post" action=""   onsubmit="return checkform(this)">

   <input type="radio" name="oo" value="radiobutton" />

   <input type="radio" name="oo" value="radiobutton" />

   <input type="submit" name="Submit" value="提交" />

</form>

1. 长度限制

<script>

function test()

{

if(document.a.b.value.length>50)

{

alert("不能超过50个字符!");

document.a.b.focus();

return false;

}

}

</script>

<form name=a onsubmit="return test()">

<textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea>

<input type="submit" name="Submit" value="check">

</form>

2. 只能是汉字

<input onkeyup="value="/oblog/value.replace(/[^\u4E00-\u9FA5]/g,'')">

3." 只能是英文

<script language=javascript>

function onlyEng()

{

if(!(event.keyCode>=65&&event.keyCode<=90))

event.returnvalue=false;

}

</script>

<input onkeydown="onlyEng();">

4. 只能是数字

<script language=javascript>

function onlyNum()

{

if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))

//考虑小键盘上的数字键

event.returnvalue=false;

}

</script>

<input onkeydown="onlyNum();">

5. 只能是英文字符和数字

<input onkeyup="value="/oblog/value.replace(/[\W]/g,"'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">

6. [b]验证油箱格式[/b]

<SCRIPT LANGUAGE=javascript RUNAT=Server>

function isEmail(strEmail) {

if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)

return true;

else

alert("oh");

}

</SCRIPT>

<input type=text onblur=isEmail(this.value)>

7. 屏蔽关键字(这里屏蔽***和****)

<script language="javascript1.2">

function test() {

if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){

alert("");

a.b.focus();

return false;}

}

</script>

<form name=a onsubmit="return test()">

<input type=text name=b>

<input type="submit" name="Submit" value="check">

</form>

8. 两次输入密码是否相同
<FORM METHOD=POST ACTION="">

<input type="password" id="input1">

<input type="password" id="input2">

<input type="button" value="test" onclick="check()">

</FORM>

<script>

function check()

{

with(document.all){

if(input1.value!=input2.value)

{

alert("false")

input1.value = "";

input2.value = "";

}

else document.forms[0].submit();

}

}

</script>

够了吧

屏蔽右键 很酷

oncontextmenu="return false" ondragstart="return false" onselectstart="return false"

加在body中



2.1     表单项不能为空


<script     language="javascript">

<!--

function     CheckForm()

{  

if     (document.form.name.value.length     ==     0)     {  

alert("请输入您姓名!");

document.form.name.focus();

return     false;

}

return     true;

}

-->

</script>

2.2     比较两个表单项的值是否相同


<script     language="javascript">

<!--

function     CheckForm()

if     (document.form.PWD.value     !=     document.form.PWD_Again.value)     {  

alert("您两次输入的密码不一样!请重新输入.");

document.ADDUser.PWD.focus();

return     false;

}

return     true;

}

-->

</script>

2.3     表单项只能为数字和"_",用于电话/银行帐号验证上,可扩展到域名注册等

<script     language="javascript">

<!--

function     isNumber(String)

{  

var     Letters     =     "1234567890-";     //可以自己增加可输入值

var     i;

var     c;

if(String.charAt(     0     )=='-')

return     false;

if(     String.charAt(     String.length     -     1     )     ==     '-'     )

return     false;

for(     i     =     0;     i     <     String.length;     i     ++     )

{  

c     =     String.charAt(     i     );

if     (Letters.indexOf(     c     )     <     0)

return     false;

}

return     true;

}

function     CheckForm()

{  

if(!     isNumber(document.form.TEL.value))     {  

alert("您的电话号码不合法!");

document.form.TEL.focus();

return     false;

}

return     true;

}

-->

</script>

2.4     表单项输入数值/长度限定

<script     language="javascript">

<!--

function     CheckForm()  

{  

if     (document.form.count.value     >     100     ||     document.form.count.value     <     1)

{  

alert("输入数值不能小于零大于100!");

document.form.count.focus();

return     false;

}

if     (document.form.MESSAGE.value.length<10)

{  

alert("输入文字小于10!");

document.form.MESSAGE.focus();

return     false;

}

return     true;

}

//-->

</script>

2.5     中文/英文/数字/邮件地址合法性判断


<SCRIPT     LANGUAGE="javascript">

<!--

function     isEnglish(name)     //英文值检测

{  

if(name.length     ==     0)

return     false;

for(i     =     0;     i     <     name.length;     i++)     {  

if(name.charCodeAt(i)     >     128)

return     false;

}

return     true;

}

function     isChinese(name)     //中文值检测

{  

if(name.length     ==     0)

return     false;

for(i     =     0;     i     <     name.length;     i++)     {  

if(name.charCodeAt(i)     >     128)

return     true;

}

return     false;

}

function     isMail(name)     //     E-mail值检测

{  

if(!     isEnglish(name))

return     false;

i     =     name.indexOf("     at     ");

j     =     name     dot     lastIndexOf("     at     ");

if(i     ==     -1)

return     false;

if(i     !=     j)

return     false;

if(i     ==     name     dot     length)

return     false;

return     true;

}

function     isNumber(name)     //数值检测

{  

if(name.length     ==     0)

return     false;

for(i     =     0;     i     <     name.length;     i++)     {  

if(name.charAt(i)     <     "0"     ||     name.charAt(i)     >     "9")

return     false;

}

return     true;

}

function     CheckForm()

{  

if(!     isMail(form.Email.value))     {  

alert("您的电子邮件不合法!");

form.Email.focus();

return     false;

}

if(!     isEnglish(form.name.value))     {  

alert("英文名不合法!");

form.name.focus();

return     false;

}

if(!     isChinese(form.cnname.value))     {  

alert("中文名不合法!");

form.cnname.focus();

return     false;

}

if(!     isNumber(form.PublicZipCode.value))     {  

alert("邮政编码不合法!");

form.PublicZipCode.focus();

return     false;

}

return     true;

}

//-->

</SCRIPT>

2.6     限定表单项不能输入的字符

<script     language="javascript">

<!--

function     contain(str,charset)//     字符串包含测试函数

{  

var     i;

for(i=0;i<charset.length;i++)

if(str.indexOf(charset.charAt(i))>=0)

return     true;

return     false;

}

function     CheckForm()

{  

if     ((contain(document.form.NAME.value,     "%\(\)><"))     ||     (contain(document.form.MESSAGE.value,     "%\(\)><")))

{  

alert("输入了非法字符");

document.form.NAME.focus();

return     false;

}

return     true;

}

//-->

</script>  

日期验证

以下方法[chekDate]验证类似"YYYY-MM-DD"格式的日期输入.包括日期实际性验证.

若日期正确,返回true;否则返回false.

function checkDate(theDate){

  var reg = /^\d{4}-((0{0,1}[1-9]{1})|(1[0-2]{1}))-((0{0,1}[1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1}))$/; 

  var result=true;

  if(!reg.test(theDate))

    result = false;

  else{

    var arr_hd=theDate.split("-");

    var dateTmp;

    dateTmp= new Date(arr_hd[0],parseFloat(arr_hd[1])-1,parseFloat(arr_hd[2]));

    if(dateTmp.getFullYear()!=parseFloat(arr_hd[0])

       || dateTmp.getMonth()!=parseFloat(arr_hd[1]) -1

        || dateTmp.getDate()!=parseFloat(arr_hd[2])){

        result = false

    }

  }

  return result;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: