如何通过onclick事件检查输入是否只包含大写和小写字母,数字和短划线?

时间:2017-06-03 12:26:15

标签: javascript jquery forms

如果输入仅包含onclick事件的大写和小写字母,数字和短划线,如何检查此表单?

<form id="domaincheck" class="form-inline ltr" method="post">
    <input type="text" class="form-control center input-md" name="sld" id="sld" placeholder="pleade enter domain name" required>
    <select class="form-control ltr input-md input-group-addon" id="tld" name="tld" multiple="multiple">
        <option value="com" selected="">.com</option>
        <option value="net">.net</option>
        <option value="org">.org</option>
    </select>
    <button type="button" class="btn btn-info" onclick="get_whois()">check!</button>
</form>

<script>
function get_whois(){
    var sld = $('#sld').val();
    if (sld.length == 0) {
        alert('plase enter domain name!');
        return false;
    }
    if (sld.length <= 3) {
        alert('at least 4 chars');
        return false;
    } else {
        //do something
    }
}
<script>

2 个答案:

答案 0 :(得分:2)

使用regular expressions可能是最好的方式。

使用带有正则表达式/[0-9_a-zA-Z]+$/g的javascript test来测试带有正则表达式的字符串。

这是一个学习和测试your regex

的好地方

<强> JS

function validate(val) {
     var re = /^[0-9_a-zA-Z]+$/g;
     return re.test(val); //validates regex on val and return true if passed.
}

function get_whois(){
var sld = $('#sld').val();
if (sld.length == 0) {
    alert('plase enter domain name!');
    return false;
}
if (sld.length <= 3) {
    alert('at least 4 chars');
    return false;
} else if(!validate(sld)){ // call validate function defined above here
    alert('Allowed A-Za-z0-9_ only.');
    return false; 
  }else{
       //do something 
  }
}

答案 1 :(得分:0)

最近我使用jQuery验证器,我写了一个简单的密码检查器。

这是我的功能:

function(value) {
    return /^[A-Za-z0-9\d=!\-@._*]*$/.test(value) // allowed characters

         && /[a-z]/.test(value) // contains lowercase
         && /[A-Z]/.test(value) // contains UPPERCASE
         && /[0-9]/.test(value) // contains Number
}

该函数返回Boolean