首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript问题问题

Javascript问题问题
EN

Stack Overflow用户
提问于 2013-05-02 02:31:17
回答 2查看 80关注 0票数 0

嘿,伙计们,我正在制作一个客户名字文本字段,并有这些要求。

获取名称中有多少个字符

检查名称是否大于6,如果大于6,则继续下一步检查

检查第一个字符是否为空格,然后失败

如果最后一个字符是空格,则失败

名称中必须有空格

这就是我到目前为止所做的,它不能工作,所以我知道它的语法,有人能帮我吗?我也不能做必须有一个空格部分,我假设Il必须循环通过名称,每次检查当前字符是否为空格,如果是,添加到一个变量,然后在结束时检查变量是否大于0?

代码语言:javascript
复制
<script type="text/javascript" language="javascript">
    var NamePass = true;

    function ValidateName()
    {
        var BlankPass = true;
        var GreaterThan6Pass = true;
        var FirstBlankPass = true;

        if (document.getElementById('Name').value=="")
        {
            document.getElementById('Name').style.background="red";
            BlankPass = false;
        }

        var Size = document.getElementById('Name').value.lastIndexOf();
        if (Size>7)
        {
            document.getElementById('Name').style.background="red";
            GreaterThan6Pass = false;
        }

        if (document.getElementById('Name').value.(str.substring(0,1)==" ")
        {
            document.getElementById('Name').style.background="red";
            FirstBlankPass = false;
        }

        var LastIndex = document.getElementById('Name').value.lastIndexOf();
        if (document.getElementById('Name').value.(str.substring((LastIndex-1),1)==" ")
        {
            document.getElementById('Name').style.background="red";
            FirstBlankPass = false;
        }   

        if (BlankPass == false || GreaterThan6Pass == false || FirstBlankPass == false )
        {
            NamePass = false;
        }
    }
</script>
<body>

<b>Customer Information</b><br>
<dd>Your name: 
<input type=text name="Name" size=40 maxlength=40 id="Name"     onblur="ValidateName()">
<img id="NameTick" style="width: 15; height: 15;     visibility:hidden;" src="Tick.png" />
<br>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-02 02:37:55

您似乎有一些语法错误,即:

代码语言:javascript
复制
if (document.getElementById('Name').value.(str.substring(0,1)==" ")

应该是:

代码语言:javascript
复制
if (document.getElementById('Name').value.substring(0,1) == " ")

代码语言:javascript
复制
if (document.getElementById('Name').value.(str.substring((LastIndex-1),1)==" ")

应该是:

代码语言:javascript
复制
if (document.getElementById('Name').value.substring((LastIndex-1),1) == " ")

编辑:

关于您的注释,我已经检查了您的代码,并更改了您的所有逻辑以使其按您所希望的方式工作,这里放入的代码有点太多,所以我将把留给您。

票数 1
EN

Stack Overflow用户

发布于 2013-05-02 02:43:24

你这样做的方式真的很复杂,你应该使用正则表达式代替。

有关正则表达式的工作原理,请参阅http://www.w3schools.com/jsref/jsref_obj_regexp.asp

对于一个包含空格和至少3个字符的名字和姓氏,您的正则表达式将如下所示:[A-Za-z]{3,}\ [A-Za-z]{3,}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16324112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档