验证字符串

时间:2013-12-26 10:44:43

标签: javascript

我想使用Javascript验证用户名。我已验证媒体名称是否为空。现在我想检查除空格之外的特殊字符。

<input type="text" name="medianame" id="medianame" value="" required="required">    
<a class="edit" href="" id="edit" onclick="return chk_val()">Save</a>    
<script>
function chk_val() {
    if (document.getElementById('medianame').value == "") {
        alert("Please enter name");
        return false;
    }
    else {
        return false;
    }    
}
</script>

3 个答案:

答案 0 :(得分:0)

您可以使用regular expression来测试字符串是否只包含您要允许的字符:

/^[a-z ]+$/i

...或测试不允许的字符:

/[^a-z ]/i

使用功能中的.test() method,如下所示:

function chk_val() {
    var val = document.getElementById('medianame').value;
    if (val === "") {
        alert("Please enter name");
        return false;
    } else if (/[^a-z ]/i.test(val)) {
        alert("Please enter only letters or spaces");
        return false;
    }
    return true;   
}

答案 1 :(得分:0)

function chk_val()
{
    var error = false;
    var name = document.getElementById('medianame').value;
    if (name == "")
        error = true;
    else if( /^[A-z ]+$/.test(name) == false)
        error = true;

    if(error)
    {
        alert("Please enter correct name");
        return false;
    }

    return true;
}

答案 2 :(得分:0)

这将检查所有可能的表达式。您可以从中过滤您的需求。

var yourExp = /^[a-zA-Z0-9!@#\$%\^\&*\)\(+=._-]+$/g;

然后你可以匹配

var yourStr = document.getElementById('medianame').value;
if( yourStr.match(yourExp) == True ){
    alert('Matched');
}