zoukankan      html  css  js  c++  java
  • 最实用的js表单验证方法

    每次都要用到表单验证的时候,就在到处找东西,而网上的很多都不见的好用。自己终于累计了这些方法,在自己的程序中使用了的一些方法,肯定是好用的,主要使用了简单的正则表达式进行判断。如果有bug,欢迎提出来。

    //下面验证的是长度
    function checkTextLen(textId){

    var len = 0;
    var checkField=document.getElementById(textId);
    var inputstring = checkField.value;
    var string_length = inputstring.length;
    if (string_length == 0)
    {
    return 0;
    }
    for (var i=0;i<string_length;i++)
    {
    if (inputstring.charAt(i).charCodeAt()>255) len+=2;
    else len+=1;
    }
    return len;

    }

    function checkTextLength(textId,length,msg){
    var textObj =document.getElementById(textId);
    if(checkTextLen(textId)>length/1){

    alert("["+msg+"]"+"长度最大为"+length+"位,"+"请重新输入!注意:一个汉字占2位");
    textObj.focus();
    return false;
    }else {
    return true;
    }
    }

    //下面验证不含有非法的字符,中文,英文,数字都是合法的。
    function isValidString(textId,errMsg){
    szStr = document.getElementById(textId).value;
    voidChar = "'/"><`~!@#$%^&/(/)()!¥……??“”‘’*";
    for(i = 0 ; i < voidChar.length; i ++){
    aChar = voidChar.substring(i, i + 1);
    if(szStr.indexOf(aChar) > -1){
    alert(errMsg);
    return false;
    }
    }
    return true;
    }

    //下面验证只可以输入字母,数字,下划线
    function isEnglish(textId,errMsg)
    {
    s = document.getElementById(textId).value;
    //下面的正则表达式限制的长度在6到20之间
    //var patrn=/^(/w){6,20}$/;
    var patrn =/^(/w)*$/;
    if (!patrn.exec(s)){
    alert(errMsg);
    return false
    }
    return true
    }

    //下面验证只允许中文
    function isChinese(textId,errMsg)
    {
    s = document.getElementById(textId).value;
    var patrn =/[^/u4E00-/u9FA5]/g;
    if (patrn.exec(s)){
    alert(errMsg);
    return false
    }
    return true
    }

    //下面验证只允许数字
    function isNumber(textId,errMsg)
    {
    s = document.getElementById(textId).value;
    //下面的正则表达式限制的长度在6到20之间
    //var patrn=/^(/d){6,20}$/;
    var patrn =/^(/d)*$/;
    if (!patrn.exec(s)){
    alert(errMsg);
    return false
    }
    return true
    }

    使用js的正则表达式用来控制不允许在文本框里面输入非数字,也就是只允许输入数字。调用方法 : onkeyup="onlyNum(this);"
    function onlyNum(obj)
    {
    temp = obj.value;
    //注意下面的正则表达式的写法,没有用引号括起来。。
    obj.value = temp.replace(//D/g,'');
    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    异常处理
    注解配置的Spring MVC
    React router
    Redux管理你的React应用
    Spring.Net 初探
    有效的XML: DTD(文档类型定义)介绍(转)
    Python 目录操作(转)
    nginx做反向负载均衡,后端服务器获取真实客户端ip(转)
    以正确的方式开源 Python 项目(转)
    Linux访问Windows共享文件夹 (转)
  • 原文地址:https://www.cnblogs.com/cuker919/p/4878671.html
Copyright © 2011-2022 走看看