js验证百家姓

现在有一个需求:

1、姓名输入框不允许为空

2、姓名输入框只能输入汉字且长度为2-4

3、姓名输入框的姓只能是百家姓里面

具体实现代码:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script src="jquery.min.js" type="text/javascript"></script>

    <script type="text/javascript">

        //为什么js的blur需要定义在$(function(){});里面,而普通的onclick事件不需要。
        $(function () {

            $("#name").blur(function () {
                var name = $("#name").val();
                if (name == ‘‘) {
                    alert("请输入姓名!");
                    return false;
                    //如果使用return,js的代码将继续执行。这是为什么?
                }
                if (!checkChinese(name)) {
                    alert("请输入汉字,并且长度为2-4位");
                    return false;
                }

                var firstName = name.substr(0, 1);
                //为什么汉字占用两个字节,英文字母占用一个字节。截取一个汉字却用一个字节。
                if (!checkbjx(firstName)) {
                    alert("请输入百家姓姓名!");
                    return false;
                } else {
                    alert("验证成功");
                }
                alert("验证成功");
            });

            //验证百家姓
            function checkbjx(name) {
                //js正则表达式  match
                //为什么此时的match方法不对
                if ("赵|钱|孙|李|周|吴|郑|王|冯|陈|楮|卫|蒋|沈|韩|杨|朱|秦|尤|许|何|吕|施|张|孔|曹|严|华|金|魏|陶|姜|戚|谢|邹|喻|柏|水|窦|章|云|苏|潘|葛|奚|范|彭|郎|鲁|韦|昌|马|苗|凤|花|方|俞|任|袁|柳|酆|鲍|史|唐|费|廉|岑|薛|雷|贺|倪|汤|滕|殷|罗|毕|郝|邬|安|常|乐|于|时|傅|皮|卞|齐|康|伍|余|元|卜|顾|孟|平|黄|和|穆|萧|尹|姚|邵|湛|汪|祁|毛|禹|狄|米|贝|明|臧|计|伏|成|戴|谈|宋|茅|庞|熊|纪|舒|屈|项|祝|董|梁|杜|阮|蓝|闽|席|季|麻|强|贾|路|娄|危|江|童|颜|郭|梅|盛|林|刁|锺|徐|丘|骆|高|夏|蔡|田|樊|胡|凌|霍|虞|万|支|柯|昝|管|卢|莫|经|房|裘|缪|干|解|应|宗|丁|宣|贲|邓|郁|单|杭|洪|包|诸|左|石|崔|吉|钮|龚|程|嵇|邢|滑|裴|陆|荣|翁|荀|羊|於|惠|甄|麹|家|封|芮|羿|储|靳|汲|邴|糜|松|井|段|富|巫|乌|焦|巴|弓|牧|隗|山|谷|车|侯|宓|蓬|全|郗|班|仰|秋|仲|伊|宫|宁|仇|栾|暴|甘|斜|厉|戎|祖|武|符|刘|景|詹|束|龙|叶|幸|司|韶|郜|黎|蓟|薄|印|宿|白|怀|蒲|邰|从|鄂|索|咸|籍|赖|卓|蔺|屠|蒙|池|乔|阴|郁|胥|能|苍|双|闻|莘|党|翟|谭|贡|劳|逄|姬|申|扶|堵|冉|宰|郦|雍|郤|璩|桑|桂|濮|牛|寿|通|边|扈|燕|冀|郏|浦|尚|农|温|别|庄|晏|柴|瞿|阎|充|慕|连|茹|习|宦|艾|鱼|容|向|古|易|慎|戈|廖|庾|终|暨|居|衡|步|都|耿|满|弘|匡|国|文|寇|广|禄|阙|东|欧|殳|沃|利|蔚|越|夔|隆|师|巩|厍|聂|晁|勾|敖|融|冷|訾|辛|阚|那|简|饶|空|曾|毋|沙|乜|养|鞠|须|丰|巢|关|蒯|相|查|后|荆|红|游|竺|权|逑|盖|益|桓|公|万俟|司马|上官|欧阳|夏侯|诸葛|闻人|东方|赫连|皇甫|尉迟|公羊|澹台|公冶|宗政|濮阳|淳于|单于|太叔|申屠|公孙|仲孙|轩辕|令狐|锺离|宇文|长孙|慕容|鲜于|闾丘|司徒|司空|丌官|司寇|仉|督|子车|颛孙|端木|巫马|公西|漆雕|乐正|壤驷|公良|拓拔|夹谷|宰父|谷梁|晋|楚|阎|法|汝|鄢|涂|钦|段干|百里|东郭|南门|呼延|归|海|羊舌|微生|岳|帅|缑|亢|况|后|有|琴|梁丘|左丘|东门|西门|商|牟|佘|佴|伯|赏|南宫|墨|哈|谯|笪|年|爱|阳|佟|第五|言|福".search(name) != -1
                ) {
                    return true;
                }
                else {
                    return false;
                }
            }

            //校验只能输入汉字,并且长度为2-4
            function checkChinese(name) {

                reg = /^[\u4E00-\u9FA5]{2,4}$/;

                if (reg.test(name)) {

                    return true;
                } else {
                    return false;

                }

            }

        });

    </script>
</head>
<body>
1、验证百家姓
<input type="text" id="name"/>
</body>
</html>

代码下载地址:http://download.csdn.net/download/zl544434558/8639877

时间: 2024-08-02 04:09:52

js验证百家姓的相关文章

js 验证表单 js提交验证类

js 验证表单 js提交验证类 附加: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="f

js验证真实姓名与身份证号

最近的项目中用的需要调用实名认证的接口,实名认证接口价格相比短信而言高了不是几分钱,所以说调用实名认证的条件就要严格把关,因此用到js验证真实姓名与js验证身份证号. 进入正题 js验证真实姓名,是用的unicode字符的来进行匹配,而中国人的姓名长度一般都是2-4,所以重复匹配{2,4}次 1.js验证真实姓名 1 var regName =/^[\u4e00-\u9fa5]{2,4}$/; 2 if(!regName.test(name)){ 3 alert('真实姓名填写有误'); 4 r

js 验证年龄 姓名

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"   http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <meta http-equiv = "content-type" content="text/html;charset=utf-8"/> &

js 验证 网址 邮箱等

//判断是否是一个网址<script language="javascript">function checkuserinfo(){var homepage=userinfo.homepage.value;if(homepage==""){alert("请输入个人主页地址!");document.userinfo.homepage.focus();}else{if(!checkeURL(homepage)){alert("您

js 验证手机号码

js 验证手机号码 //验证手机号        function isMobel(value) {           if (/^1[3-8]+\d{9}$/g.test(value)) {                return true;            }            else {                return false;            }        } js 验证手机号码,码迷,mamicode.com

让 ASP.NET JS验证和服务端的 双验证 更简单

只用JavaScript验证安全不安全谁都知道,答案是不安全,非常的不安全.因为在客户端进行的验证相当于“让用户自己验证自己”,很明显是不靠谱的.你不能避免一些恶意用户人为的修改自己的表单进行欺骗,也不能避免第三方对表单进行截获后进行篡改再提交. 所以说,从安全的角度来说,单纯的依靠js验证,是不安全的,任何健壮的系统都必须在后端进行验证. 双验证大大增加了工作量,如何解决? 方案1:笨方法,都写一遍方案2:现有框架 ,比如MVC自带验证支持双向验证 ,不足点是要写 model加attrbute

js验证

var CommonCheck = { //两个时间比较 compareDate:function(end,start){ var d1Arr=end.split("-"); var d2Arr=start.split("-"); var ss1=new Date(d1Arr[0],d1Arr[1],d1Arr[2]); var ss2=new Date(d2Arr[0],d2Arr[1],d2Arr[2]); if(ss1<ss2){ return fals

正则表达式的JS验证

/判断输入内容是否为空    function IsNull(){        var str = document.getElementById('str').value.trim();        if(str.length==0){            alert('对不起,文本框不能为空或者为空格!');//请将"文本框"改成你需要验证的属性名称!        }    }       //判断日期类型是否为YYYY-MM-DD格式的类型    function IsD

常用JS验证函数总结

JS验证Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/** * 2010-7-13 * 贺 臣 * 情 缘 * js各种表单数据验证 */ /**************************************************************************************/ /**************