js验证form表单示例

检测测试了js表单验证,无jQuery(简单的功能有时无需jQuery版本)

js代码如下:

 

<script type="text/javascript">

function S(ba, hZ) {

try {

return (hZ && (hZ.document || hZ) || document).getElementById(ba);

}

catch (cg) {

return null;

}

}

var show = function(id, isVisible) {

var s1 = isVisible ? "" : "none";

S(id).style.display = s1;

}

var checkAlias = function() {

var _oForm = S("form1"), _oReg = /^[0-9a-zA-Z\.\-_]{4,32}$/, _oRegErr = /(^[\.\-_])|([\.\-_]$)/, _oRegErr2 = /[\.\-_][\.\-_]/, _bInvalid = false, _sMsg = "";

_oForm.alias.value = _oForm.alias.value.trim();

if (_oForm.alias.value == "") {

_bInvalid = true;

_sMsg = "请填写管理员帐号";

}

else if (_oForm.alias.value.length < 4 || _oForm.alias.value.length > 32) {

_bInvalid = true;

_sMsg = "帐号长度不对";

}

else if (!_oReg.test(_oForm.alias.value)) {

_bInvalid = true;

_sMsg = "帐号格式错误";

}

else if (_oRegErr.test(_oForm.alias.value)) {

_bInvalid = true;

_sMsg = "点、减号或下划线不能放在开头或结尾";

}

else if (_oRegErr2.test(_oForm.alias.value)) {

_bInvalid = true;

_sMsg = "点、减号或下划线不能连续出现";

}

if (_bInvalid) {

S("msg_alias_reason").innerHTML = _sMsg;

show("msg_alias_err", true);

show("msg_alias_ok", false);

return false;

}

else {

show("msg_alias_err", false);

show("msg_alias_ok", true);

}

return true;

};

var checkEmail = function() {

var _oForm = S("form1"), _oRegErr = /(^[\.\-_])|([\.\-_]$)/, _oRegEmail = /^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/, _bInvalid = false, _sMsg = "";

_oForm.email.value = _oForm.email.value.trim();

if (_oForm.email.value == "") {

_bInvalid = true;

_sMsg = "邮箱地址不能为空";

}

else if (_oRegErr.test(_oForm.email.value)) {

_bInvalid = true;

_sMsg = "点、减号或下划线不能放在开头或结尾";

}

else if (_oForm.email.value.length < 10 || _oForm.email.value.length > 32) {

_bInvalid = true;

_sMsg = "请输入正确的邮箱地址";

}

else if (!_oRegEmail.test(_oForm.email.value)) {

_bInvalid = true;

_sMsg = "邮箱格式错误,请重试";

}

if (_bInvalid) {

S("msg_email_reason").innerHTML = _sMsg;

show("msg_email_err", true);

show("msg_email_ok", false);

return false;

}

else {

show("msg_email_err", false);

show("msg_email_ok", true);

}

return true;

};

var checkFormInput = function() {

if (checkAlias() && checkEmail())

return true;

return false;

};

</script>

HTML代码如下:

<form id="form1" method="get" name="form1" onsubmit="return checkFormInput();">

<input type="hidden" name="action" value="signin" />

<div name="Content" class="mainPanel wd txt_left" style="margin-top:20px;">

<div class="regPanel">

<div class="b_size" style="padding:35px;">

<div class="">

<h2 class="bd" style="border-width:0 0 1px 0">用户注册 &nbsp;<span class="notice">(用来管理您企业邮的帐号)</span></h2>

<div class="formPanel" style="padding:20px 0 10px;">

<div class="tr">

<label class="colum" title="管理员帐号用来登录企业邮箱管理面板">用户名:</label>

<input type="text" class="txt b_size" value="" name="alias" onfocus="" onblur="checkAlias();" maxlength="32">

<span id="msg_alias_err" style="padding:0 5px; display:none;"><img align="absmiddle" class="icon_disable_m img_pad" src="dot.gif"><span id="msg_alias_reason" class="txt_red f_size">请填写管理员帐号</span></span>

<span id="msg_alias_ok" style="display: none; "><img align="absmiddle" class="icon_finish_m" src="dot.gif"></span>

</div>

<div class="addrtitle tr f_size tipsInfo">帐号由字母、数字组成,点(.)减号(-)下划线(_)不能放在开头或结尾,也不能连续出现</div>

<div class="tr">

<label class="colum" title="管理员帐号用来登录企业邮箱管理面板">邮箱地址:</label>

<input type="text" class="txt b_size" value="" name="email" onfocus="" onblur="checkEmail();" maxlength="32">

<span id="msg_email_err" style="padding:0 5px; display:none;"><img align="absmiddle" class="icon_disable_m img_pad" src="dot.gif"><span id="msg_email_reason" class="txt_red f_size">请填写管理员帐号</span></span>

<span id="msg_email_ok" style="display: none; "><img align="absmiddle" class="icon_finish_m" src="dot.gif"></span>

</div>

<div class="addrtitle tr f_size tipsInfo">请输入邮箱地址</div>

</div>

</div>

<div class="submitColumn" style="padding-left:105px;"><input type="submit" class="btnSubmit b_size" value="确定">&nbsp;&nbsp;<a href="/">取消</a></div>

</div>

</div>

</div>

</form>

js验证form表单示例的更多相关文章

  1. 第十七篇 JS验证form表单

    JS验证form表单   这节课做一个实际的,项目里会遇到的东西,例如登录页面,我们输入‘用户名’和‘密码’或者‘手机号’还有‘验证码’等等,它都会做一个前端验证,比如验证码,是6位有效数字组成,那么 ...

  2. js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题

    js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题 js模拟form表单提交数据源码: /** * js模拟form表单提交 * @param ...

  3. js重置form表单

      CreateTime--2017年7月19日10:37:11Author:Marydon js重置form表单 需要使用的方法:reset() 示例: HTML部分 <form id=&qu ...

  4. JS 提交form表单

    源码实例一:javascript 页面加裁时自动提交表单Form表单:<form method="post" id="myform" action=&qu ...

  5. js阻止form表单重复提交

    防止表单重复提交的方法总体来说有两种,一种是在js中阻止重复提交:另一种是在后台利用token令牌实现,大致思路是生成一个随机码放到session和form表单的隐藏输入框中,提交表单时两者对比,表单 ...

  6. 使用js提交form表单的两种方法

    提交form表单的时候瑶族一些简单的验证,验证完后才能提交,避免无效提交. 1.当输入用户名和密码为空的时候,需要判断.这时候就用到了校验用户名和密码,这个需要在前端页面写:有两种方法,一种是用sub ...

  7. jQuery.Validate.js验证大表单的优化

    最近在项目中有遇到一个Form表单中有200多个标签.在提交表单时网页会出现等待时间很长,甚至会出现网页奔溃的情况. 主要的原因是因为在使用jQuery.Validate.js进行Form验证的时候会 ...

  8. Js 提交 form 表单

    本文主要讲如何使用Js提交表单,在使用ajax进行异步验证的多数情况下,需要使用Js提交表单,以下简单说几种提交表单的方式: 1.document.getElementById("formI ...

  9. 参数传递的四种形式----- URL,超链接,js,form表单

    什么时候用GET,  查,删, 什么时候用POST,增,改  (特列:登陆用Post,因为不能让用户名和密码显示在URL上) 4种get传参方式 <html xmlns="http:/ ...

随机推荐

  1. 深刻理解下js的prototype

    参考 http://aralejs.org/class/docs/competitors.html, http://www.iteye.com/topic/248933,http://www.cnbl ...

  2. Flask设计带认证token的RESTful API接口[翻译]

    上一篇文章, 使用python的Flask实现一个RESTful API服务器端  简单地演示了Flask实的现的api服务器,里面提到了因为无状态的原则,没有session cookies,如果访问 ...

  3. hihocoder 1425What a Beautiful Lake(实验专用)

    Problem D. What a Beautiful Lake Description Weiming Lake, also named "Un-named Lake", is ...

  4. 1013. Battle Over Cities (25)(DFS遍历)

    For example, if we have 3 cities and 2 highways connecting city1-city2 and city1-city3. Then if city ...

  5. HDU 1078 dfs+dp

    题目大意: 在n*n的矩阵中,每个格子放置了一定数量的食物,一只老鼠每次水平或竖直最多移动k格,每次到的位置食物都要比前一次多,问最后一共能得到多少食物 这道题利用记忆化搜索做,利用nowstate不 ...

  6. hdu 2669 扩展欧几里得(裸)

    #include<stdio.h> #include<iostream> #define ll __int64 ll gcd(ll a,ll b,ll &x,ll &a ...

  7. CodeVs1519 过路费

    题目描述 Description 在某个遥远的国家里,有 n个城市.编号为 1,2,3,…,n.这个国家的政府修建了m 条双向道路,每条道路连接着两个城市.政府规定从城市 S 到城市T需要收取的过路费 ...

  8. Codevs 3556 科技庄园==洛谷 P2760

    时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description Life是codevs的用户,他是一个道德极高的用户,他积极贯彻党的十八大精神, ...

  9. Python基础教程笔记——第5章:条件,循环和其他语句

    5.1 print和import的更多信息 1. print()3.0之后print不再是语句,而是函数, >>> print('udg',12,13)   udg 12 13 &g ...

  10. 设置select的默认选项

    2014-01-07 09:54:34|   通过后台传出的值进行选择默认项的设置 <select name="user_id" id="user_id" ...