JS 表单验证大全

/*** 判断字符串emailAddr是否为合法的email格式*
主要判断’@’及’.’是否出现,以及两者的位置* @param emailAddr
输入的email地址* @return true/false。*/

1.只能输入数字和英文的:
<input onkeyup=”value=value.replace(/[/W]/g,”) ”
onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^/d]/g,”))”
ID=”Text1″ NAME=”Text1″>
2.只能输入数字的:
<input onkeyup=”value=value.replace(/[^/d]/g,”) ”
onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^/d]/g,”))”
ID=”Text2″ NAME=”Text2″>
3.只能输入全角的:
<input onkeyup=”value=value.replace(/[^/uFF00-/uFFFF]/g,”)”
onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^/uFF00-/uFFFF]/g,”))”
ID=”Text3″ NAME=”Text3″>
4.只能输入汉字的:
<input onkeyup=”value=value.replace(/[^/u4E00-/u9FA5]/g,”)”
onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^/u4E00-/u9FA5]/g,”))”

function emailCheck(emailAddr){ if((emailAddr == null) ||
(emailAddr.length 2)) return false ;

ID=”Text4″ NAME=”Text4″>

验证非法字符,sql
function vdf()
{
var i,j,name,value,message,length,type,a=vdf.arguments,cb_name;
for (i=0; i<(a.length-2); i+=3)
{
if (a[i].indexOf(‘#’)!=-1)
{
name=fob(a[i].substr(0,a[i].indexOf(‘#’)));
cb_name=fob(a[i].substr((a[i].indexOf(‘#’)+1),a[i].length));
}
else
{
name=fob(a[i]); // 控件名称
}
message=a[i+1]; // 提示信息
type=a[i+2]; // 类型
if (type!=”r_time”)
{
value=name.value.replace(/ +/g, “”); // 控件值
}
else
{
value=name.value;
}

// 需出现’@’,且不在首字符. var aPos = emailAddr.indexOf(“@” ,1) ;

}

// ===============判断复选框是否选中================ //
if (type==”r_cb”)
{
e=document.forms(0).elements;
var flag=false;
for (i=0;i<e.length;i++)
{
if (e[i]!=cb_name)
{
if (e[i].checked==true)
{
flag=true;
break;
}
}
if (i==e.length-1)
{
break;
}
}
if (flag==false)
{
alert(message+”!/n”); //为空时出现的提示
return false;
}
}
// ===============判断下拉框是否选择================ //
if (type==”r_sl”)
{
if (name.selected==false)
{
alert(message+”!/n”); //为空时出现的提示
return false;
}
}
// ===============不能为空的判断================ //
if (type==”r”)
{
if (value==””) // 判断是否为空
{
alert(message+”!/n”); //为空时出现的提示
name.focus();
name.select();
return false;
}
}
// ===============不能为空的判断,但不获得焦点================ //
if (type==”o_r”)
{
if (value==””) // 判断是否为空
{
alert(message+”!/n”); //为空时出现的提示
return false;
}
}
// ===============只能输入中文================ //
if (type==”r_china”)
{
if (value.search(/^[/u4e00-/u9fa5]+$/)==-1)
{
alert(message+”!/n”); // 判断不能为空
name.focus();
name.select();
return false;
}
}
// ===============不能为空,必须是数字或者字符判断================ //
if (type==”r_num_char”)
{
if (value==””)
{
alert(message+”!/n”); //为空时出现的提示
name.focus();
name.select();
return false;
}
if (value.search(/^[0-9a-zA-Z]+$/)==-1)
{
alert(message+”!/n”); //为空时出现的提示
name.focus();
name.select();
return false;
}
}
// ===============可以为空,不为空时,填数字================ //
if (type==”num”)
{
if (value.search(/^[0-9]+$/)==-1 && value!=””)
{
alert(message+”!/n”); // 判断不能为空
name.focus();
name.select();
return false;
}
}
// ===============不能为空,必须是数字判断================ //
if (type==”r_num”)
{
if (value==””)
{
alert(message+”!/n”);
name.focus();
name.select();
return false;
}
if (value.search(/^[0-9]+$/)==-1)
{
alert(message+”!/n”); // 判断不能为空
name.focus();
name.select();
return false;
}
}
// ===============必须输入小于n的数字================ //
if (type.indexOf(“r_num<“)!=-1)
{
length=type.substring((type.indexOf(‘<‘)+1),type.length); //
获得rn<后面的数
if (value==””) // 为空做的提示
{
alert(message+”!/n”);
name.focus();
name.select();
return false;
}
if (value.search(/^[0-9]+$/)==-1) // 不是数字做的提示
{
alert(message+”!/n”);
name.focus();
name.select();
return false;
}
if (value.length>length) // 限制数字长度做的限制
{
alert(message+”!/n”);
name.focus();
name.select();
return false;
}
}
// ===============必须输入大于n的数字================ //
if (type.indexOf(“r_num>”)!=-1)
{
length=type.substring((type.indexOf(‘>’)+1),type.length); //
获得rn<后面的数
if (value==””) // 为空做的提示
{
alert(message+”!/n”);
name.focus();
name.select();
return false;
}
if (value.search(/^[0-9]+$/)==-1) // 不是数字做的提示
{
alert(message+”!/n”);
name.focus();
name.select();
return false;
}
if (value.length<length) // 限制数字长度做的限制
{
alert(message+”!/n”);
name.focus();
name.select();
return false;
}
}
// ===============必须输入a-b位之间的数字================ //
if (type.indexOf(“r_num#<>”)!=-1)
{
length=type.substr((type.indexOf(‘>’)+1),type.length);
length=length.substr(0,length.lastIndexOf(“-“));
length1=type.substring((type.indexOf(‘-‘)+1),type.length) //
获得rn<后面的数
if (value==””) // 为空做的提示
{
alert(message+”!/n”);
name.focus();
name.select();
return false;
}
if (value.search(/^[0-9]+$/)==-1) // 不是数字做的提示
{
alert(message+”!/n”);
name.focus();
name.select();
return false;
}
if (value.length<length || value.length>length1) //
限制数字长度做的限制
{
alert(message+”!/n”);
name.focus();
name.select();
return false;
}
}
// ===============不能为空,必须是float类型================ //
if (type==”r_float”)
{
if (value==””)
{
alert(message+”!/n”);
name.focus();
name.select();
return false;
}
if (value.search(/^[0-9]+$/)!=-1 ||
value.search(/^([0-9]+)|([0-9]+/.[0-9]*)|([0-9]*/.[0-9]+)$/)!=-1)
{
return true;
}
else
{
alert(message+”!/n”); // 判断不能为空
name.focus();
name.select();
return false;
}
}
// ===============判断email,不一定输入================ //
if (type.indexOf(“email”)!=-1)
{
if (name.value!=””)
{
if
(value.search(/^[_/.a-z0-9][email protected][a-z0-9]+[/.][a-z0-9]{2,}$/i)==-1)
{
alert(message+”!/n”);
name.focus();
name.select();
return false;
}
}
}
// ===============判断email,一定输入================ //
if (type.indexOf(“r_email”)!=-1)
{
if (name.value==””)
{
alert(message+”!/n”);
name.focus();
name.select();
return false;
}
if
(value.search(/^[_/.a-z0-9][email protected][a-z0-9]+[/.][a-z0-9]{2,}$/i)==-1)
{
alert(message+”!/n”);
name.focus();
name.select();
return false;
}
}
// ===============判断日期,比如2000-12-20================ //
if (type==”r_date”)
{
flag=true;
getdate=value;
if
(getdate.search(/^[0-9]{4}-(0[澳门新葡亰3522平台游戏,1-9]|[1-9]|1[0-2])-((0[1-9]|[1-9])|1[0-9]|2[0-9]|3[0-1])$/)==-1)
// 判断输入格式时候正确
{
flag=false;
}
else
{
var year=getdate.substr(0,getdate.indexOf(‘-‘)) // 获得年
// 下面操作获得月份
var transition_month=getdate.substr(0,getdate.lastIndexOf(‘-‘));
var
month=transition_month.substr(transition_month.lastIndexOf(‘-‘)+1,transition_month.length);
if (month.indexOf(‘0’)==0)
{
month=month.substr(1,month.length);
}
// 下面操作获得日期
var day=getdate.substr(getdate.lastIndexOf(‘-‘)+1,getdate.length);
if (day.indexOf(‘0’)==0)
{
day=day.substr(1,day.length);
}
//alert(month);
//alert(day)
//return false;
if ((month==4 || month==6 || month==9 || month==11) && (day>30)) //
4,6,9,11月份日期不能超过30
{
flag=false;
}
if (month==2) // 判断2月份
{
if (LeapYear(year))
{
if (day>29 || day<1){ flag=false; }
}
else
{
if (day>28 || day<1){flag=false; }
}
}
else
{
flag=true;
}
}
if (flag==false)
{
alert(message+”!/n”); //为空时出现的提示
name.focus();
name.select();
return false;
}
}

  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();”>
  3. 只能是数字
    <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();”>
  4. 只能是英文字符和数字
    <input onkeyup=”value=”/oblog/value.replace(/[/W]/g,””)
    “onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^/d]/g,”))”>
  5. 验证油箱格式
    <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)>
  6. 屏蔽关键字(这里屏蔽***和****)
    <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>
  7. 两次输入密码是否相同
    <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>
  8. 检查一段字符串是否全由数字组成

<script language=”Javascript”><!–
function checkNum(str){return str.match(//D/)==null}
alert(checkNum(“1232142141”))
alert(checkNum(“123214214a1”))
// –></script>

if(aPos 0) { return false ; }

2. 怎么判断是否是字符

if (/[^/x00-/xff]/g.test(s)) alert(“含有汉字”);
else alert(“全是字符”);

// ‘@’后出现’.’,且不紧跟其后. if(emailAddr.indexOf(“.” ,aPos+2) 0) {
return false ; }

3. 怎么判断是否含有汉字

if (escape(str).indexOf(“%u”)!=-1) alert(“含有汉字”);
else alert(“全是字符”);

return true ;}

4. 邮箱格式验证

//函数名:chkemail
//功能介绍:检查是否为Email Address
//参数说明:要检查的字符串
//返回值:0:不是 1:是
function chkemail(a)
{ var i=a.length;
var temp = a.indexOf(‘@’);
var tempd = a.indexOf(‘.’);
if (temp > 1) {
if ((i-temp) > 3){
if ((i-tempd)>0){
return 1;
}
}
}
return 0;
}

5. 数字格式验证

//函数名:fucCheckNUM
//功能介绍:检查是否为数字
//参数说明:要检查的数字
//返回值:1为是数字,0为不是数字
function fucCheckNUM(NUM)
{
var i,j,strTemp;
strTemp=”0123456789″;
if ( NUM.length== 0)
return 0
for (i=0;i<NUM.length;i++)
{
j=strTemp.indexOf(NUM.charAt(i));
if (j==-1)
{
//说明有字符不是数字
return 0;
}
}
//说明是数字
return 1;
}