簡體   English   中英

驗證文本字段,僅允許使用字母“-”和“。”

[英]Validate textfield, allows only letters, '-', and '.'

我正在嘗試使我的文本字段驗證輸入到其中的文本。 目前,我告訴它只允許字母az和-和。

當前設置是,如果無效,將產生一個十字,如果有效,將產生一個刻度。

目前,雖然它不檢查在文本區域中輸入的最小和最大字符,但我希望它能夠執行此操作,所以有人可以告訴我如何執行此操作嗎?

到目前為止,我有這個腳本,但是我不知道如何獲取該腳本來檢查字段中的最小和最大字符,例如,我希望它的最小值為5,最大值為60。

我遇到的另一個問題是目前驗證有效,如果輸入字母az和-會打勾,並且如果有人單獨輸入@或/,則會打叉,但是如果有人輸入“ hello @”,然后它也會對其進行驗證並顯示對勾,但不應使用@字符。

腳本:

<script>
function validateCname(CnameField){
        var reg = /[A-Za-z\._-]$/;



        if (reg.test(CnameField.value) == false) 
        {
            document.getElementById("emailTick").style.display='none'; // Hide tick if validation Fails
            document.getElementById("emailCross").style.display='block';
            return false;
        }
        if (reg.test(CnameField.value) == true)
        document.getElementById("emailCross").style.display='none';
        document.getElementById("emailTick").style.display='block';
        return true;
}
</script>

HTML:

<input type="text" id="field_cname" name="cname" class="field_cname" onfocus="document.getElementById('field_cname').style.background='#ffffff';" onblur="validateCname(this);">
<div id="emailCross"></div><div id="emailTick"></div>

將您的正則表達式更改為:

var reg = /^[A-Za-z\._-]{5,60}$/;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM