这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
这篇文章主要介绍了一些常用 javascript 表单验证,文章最后还附带了一个实践案例,以验证数字为例进行讲解,感兴趣的小伙伴们可以参考一下
实例讲解:验证输入的是否是数字,是否满足数字位数,如果错误,并进行友情提醒。
效果图:
- <!DOCTYPE html>
- <html>
- <body>
- <h1>
- 我的第一段 JavaScript
- </h1>
- <p>
- 请输入数字。如果输入值不是数字,浏览器会弹出提示框。
- </p>
- <input id="demo" type="text">
- <script>
- function myFunction() {
- var x = document.getElementById("demo").value;
- if (x == "") {
- alert("输入不能为空");
- return;
- }
- if (isNaN(x)) {
- alert("请输入数字");
- return;
- }
- if (x.length != 6) {
- alert("请输入6位数字");
- return;
- }
- }
- </script>
- <button type="button" onclick="myFunction()">
- 点击这里
- </button>
- </body>
- </html>
上面这个实例包含了许多常用的表单验证的代码,下面分享给大家:
1、验证表单
2、验证昵称
3、计算昵称长度
4、验证昵称是否存在
5、验证手机号
6、验证密码
7、验证邮箱
8、验证验证码
9、判断是否选中
注册验证为例:
- <script language="JavaScript" src="js/jquery-1.9.1.min.js" type="text/javascript"></script>
- //验证表单
- function vailForm(){
- var form = jQuery("#editForm");
- if(!vailNickName())return;
- if(!vailPhone())return;
- if(!vailPwd())return;
- if(!vailConfirmPwd())return;
- if(!vailEmail())return;
- if(!vailCode())return;
- if(!vailAgree())return;
- form.submit();
- }
- //验证昵称
- function vailNickName(){
- var nickName = jQuery("#nickName").val();
- var flag = false;
- var message = "";
- var patrn=/^\d+$/;
- var length = getNickNameLength();
- if(nickName == ''){
- message = "昵称不能为空!";
- }else if(length<4||length>16){
- message = "昵称为4-16个字符!";
- } else if(checkNickNameIsExist()){
- message = "该昵称已经存在,请重新输入!";
- }else{
- flag = true;
- }
- if(!flag){
- jQuery("#nickNameDiv").removeClass().addClass("ui-form-item has-error");
- jQuery("#nickNameP").html("");
- jQuery("#nickNameP").html("<i class=\"icon-error ui-margin-right10\"> <\/i>"+message);
- //jQuery("#nickName").focus();
- }else{
- jQuery("#nickNameDiv").removeClass().addClass("ui-form-item has-success");
- jQuery("#nickNameP").html("");
- jQuery("#nickNameP").html("<i class=\"icon-success ui-margin-right10\"> <\/i>该昵称可用");
- }
- return flag;
- }
- //计算昵称长度
- function getNickNameLength(){
- var nickName = jQuery("#nickName").val();
- var len = 0;
- for (var i = 0; i < nickName.length; i++) {
- var a = nickName.charAt(i);
- //函数格式:stringObj.match(rgExp) stringObj为字符串必选 rgExp为正则表达式必选项
- //返回值:如果能匹配则返回结果数组,如果不能匹配返回null
- if (a.match(/[^\x00-\xff]/ig) != null){
- len += 2;
- }else{
- len += 1;
- }
- }
- return len;
- }
- //验证昵称是否存在
- function checkNickNameIsExist(){
- var nickName = jQuery("#nickName").val();
- var flag = false;
- jQuery.ajax(
- { url: "checkNickName?t=" + (new Date()).getTime(),
- data:{nickName:nickName},
- dataType:"json",
- type:"GET",
- async:false,
- success:function(data) {
- var status = data.status;
- if(status == "1"){
- flag = true;
- }
- }
- });
- return flag;
- }
- //验证手机号
- function vailPhone(){
- var phone = jQuery("#phone").val();
- var flag = false;
- var message = "";
- //var myreg = /^(((13[0-9]{1})|159|153)+\d{8})$/;
- var myreg = /^(((13[0-9]{1})|(14[0-9]{1})|(17[0-9]{1})|(15[0-3]{1})|(15[5-9]{1})|(18[0-3]{1})|(18[5-9]{1}))+\d{8})$/;
- if(phone == ''){
- message = "手机号码不能为空!";
- }else if(phone.length !=11){
- message = "请输入有效的手机号码!";
- }else if(!myreg.test(phone)){
- message = "请输入有效的手机号码!";
- }else if(checkPhoneIsExist()){
- message = "该手机号码已经被绑定!";
- }else{
- flag = true;
- }
- if(!flag){
- jQuery("#phoneDiv").removeClass().addClass("ui-form-item has-error");
- jQuery("#phoneP").html("");
- jQuery("#phoneP").html("<i class=\"icon-error ui-margin-right10\"> <\/i>"+message);
- //jQuery("#phone").focus();
- }else{
- jQuery("#phoneDiv").removeClass().addClass("ui-form-item has-success");
- jQuery("#phoneP").html("");
- jQuery("#phoneP").html("<i class=\"icon-success ui-margin-right10\"> <\/i>该手机号码可用");
- }
- return flag;
- }
- //验证手机号是否存在
- function checkPhoneIsExist(){
- var phone = jQuery("#phone").val();
- var flag = true;
- jQuery.ajax(
- { url: "checkPhone?t=" + (new Date()).getTime(),
- data:{phone:phone},
- dataType:"json",
- type:"GET",
- async:false,
- success:function(data) {
- var status = data.status;
- if(status == "0"){
- flag = false;
- }
- }
- });
- return flag;
- }
- //验证密码
- function vailPwd(){
- var password = jQuery("#password").val();
- var flag = false;
- var message = "";
- var patrn=/^\d+$/;
- if(password ==''){
- message = "密码不能为空!";
- }else if(password.length<6 || password.length>16){
- message = "密码6-16位!";
- }else if(patrn.test(password)){
- message = "密码不能全是数字!";
- }else{
- flag = true;
- }
- if(!flag){
- jQuery("#passwordDiv").removeClass().addClass("ui-form-item has-error");
- jQuery("#passwordP").html("");
- jQuery("#passwordP").html("<i class=\"icon-error ui-margin-right10\"> <\/i>"+message);
- //jQuery("#password").focus();
- }else{
- jQuery("#passwordDiv").removeClass().addClass("ui-form-item has-success");
- jQuery("#passwordP").html("");
- jQuery("#passwordP").html("<i class=\"icon-success ui-margin-right10\"> <\/i>该密码可用");
- }
- return flag;
- }
- //验证确认密码
- function vailConfirmPwd(){
- var confirmPassword = jQuery("#confirm_password").val();
- var patrn=/^\d+$/;
- var password = jQuery("#password").val();
- var flag = false;
- var message = "";
- if(confirmPassword == ''){
- message = "请输入确认密码!";
- }else if(confirmPassword != password){
- message = "二次密码输入不一致,请重新输入!";
- }else if(patrn.test(password)){
- message = "密码不能全是数字!";
- }else {
- flag = true;
- }
- if(!flag){
- jQuery("#confirmPasswordDiv").removeClass().addClass("ui-form-item has-error");
- jQuery("#confirmPasswordP").html("");
- jQuery("#confirmPasswordP").html("<i class=\"icon-error ui-margin-right10\"> <\/i>"+message);
- //jQuery("#confirm_password").focus();
- }else{
- jQuery("#confirmPasswordDiv").removeClass().addClass("ui-form-item has-success");
- jQuery("#confirmPasswordP").html("");
- jQuery("#confirmPasswordP").html("<i class=\"icon-success ui-margin-right10\"> <\/i>密码正确");
- }
- return flag;
- }
- //验证邮箱
- function vailEmail(){
- var email = jQuery("#email").val();
- var flag = false;
- var message = "";
- var myreg = /^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
- if(email ==''){
- message = "邮箱不能为空!";
- }else if(!myreg.test(email)){
- message = "请输入有效的邮箱地址!";
- }else if(checkEmailIsExist()){
- message = "该邮箱地址已经被注册!";
- }else{
- flag = true;
- }
- if(!flag){
- jQuery("#emailDiv").removeClass().addClass("ui-form-item has-error");
- jQuery("#emailP").html("");
- jQuery("#emailP").html("<i class=\"icon-error ui-margin-right10\"> <\/i>"+message);
- //jQuery("#email").focus();
- }else{
- jQuery("#emailDiv").removeClass().addClass("ui-form-item has-success");
- jQuery("#emailP").html("");
- jQuery("#emailP").html("<i class=\"icon-success ui-margin-right10\"> <\/i>该邮箱可用");
- }
- return flag;
- }
- //验证邮箱是否存在
- function checkEmailIsExist(){
- var email = jQuery("#email").val();
- var flag = false;
- jQuery.ajax(
- { url: "checkEmail?t=" + (new Date()).getTime(),
- data:{email:email},
- dataType:"json",
- type:"GET",
- async:false,
- success:function(data) {
- var status = data.status;
- if(status == "1"){
- flag = true;
- }
- }
- });
- return flag;
- }
- //验证验证码
- function vailCode(){
- var randCode = jQuery("#randCode").val();
- var flag = false;
- var message = "";
- if(randCode == ''){
- message = "请输入验证码!";
- }else if(!checkCode()){
- message = "验证码不正确!";
- }else{
- flag = true;
- }
- if(!flag){
- jQuery("#randCodeDiv").removeClass().addClass("ui-form-item has-error");
- jQuery("#randCodeP").html("");
- jQuery("#randCodeP").html("<i class=\"icon-error ui-margin-right10\"> <\/i>"+message);
- //jQuery("#randCode").focus();
- }else{
- jQuery("#randCodeDiv").removeClass().addClass("ui-form-item has-success");
- jQuery("#randCodeP").html("");
- jQuery("#randCodeP").html("<i class=\"icon-success ui-margin-right10\"> <\/i>");
- }
- return flag;
- }
- //检查随机验证码是否正确
- function checkCode(){
- var randCode = jQuery("#randCode").val();
- var flag = false;
- jQuery.ajax(
- { url: "checkRandCode?t=" + (new Date()).getTime(),
- data:{randCode:randCode},
- dataType:"json",
- type:"GET",
- async:false,
- success:function(data) {
- var status = data.status;
- if(status == "1"){
- flag = true;
- }
- }
- });
- return flag;
- }
- //判断是否选中
- function vailAgree(){
- if(jQuery("#agree").is(":checked")){
- return true;
- }else{
- alert("请确认是否阅读并同意XX协议");
- }
- return false;
- }
- function delHtmlTag(str){
- var str=str.replace(/<\/?[^>]*>/gim,"");//去掉所有的html标记
- var result=str.replace(/(^\s+)|(\s+$)/g,"");//去掉前后空格
- return result.replace(/\s/g,"");//去除文章中间空格
- }
以上就是实用的 javascript 表单验证,希望大家喜欢。
来源: http://www.phperz.com/article/17/0409/268714.html