Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript函数只在按键时输入字母_Javascript_Html_Validation_Onkeypress - Fatal编程技术网

Javascript函数只在按键时输入字母

Javascript函数只在按键时输入字母,javascript,html,validation,onkeypress,Javascript,Html,Validation,Onkeypress,我只想在一个中输入字符值,在另一个中输入数值。我已经能够使用onkeypress制作一个JavaScript函数,它只允许在中输入数值。这适用于Firefox和Chrome 对于字母表,我正在使用windows.event属性创建另一个JavaScript函数。唯一的问题是,这只适用于Chrome,而不适用于Firefox 我想知道如何使用onkeypress事件只允许输入字母,就像只用于输入数字值一样 函数是numberkey(evt){ //var e=evt | | window.eve

我只想在一个
中输入字符值,在另一个
中输入数值。我已经能够使用
onkeypress
制作一个JavaScript函数,它只允许在
中输入数值。这适用于Firefox和Chrome

对于字母表,我正在使用
windows.event
属性创建另一个JavaScript函数。唯一的问题是,这只适用于Chrome,而不适用于Firefox

我想知道如何使用
onkeypress
事件只允许输入字母,就像只用于输入数字值一样

函数是numberkey(evt){
//var e=evt | | window.event;
var charCode=(evt.which)?evt.which:evt.keyCode
如果(charCode!=46&&charCode>31
&&(字符编码<48 | |字符编码>57))
返回false;
返回true;
}
功能验证ALPHA(evt)
{
var keyCode=(evt.which)?evt.which:evt.keyCode
如果((键码<65 | |键码>90)&&(键码<97 | |键码>123)&&keyCode!=32)
返回false;
返回true;
}
风险群集名称

风险类别编号:
您好,请尝试下面的代码它在所有浏览器中都适用于我,它允许数字和一些特殊字符,如,.+-(): 在文本框中,使用以下命令

<asp:Textbox Id="txtPhone" runat="server" onKeyPress="return onlyNumbersandSpecialChar()">     </asp:Textbox>

仅函数编号和特殊字符(evt){
var e=window.event | | evt;
var charCode=e.which | e.keyCode;
如果(charCode>31&(charCode<48 | charCode>57 | charCode>107 | charCode>219 | charCode>221)&&charCode!=40&&charCode!=32&&charCode!=41&(charCode<43 | charCode>46)){
if(window.event)//IE
window.event.returnValue=false;
else//Firefox
e、 预防默认值();
}
返回true;
}

如果您不需要支持较旧的浏览器,我将使用
输入事件。这样,如果用户将文本粘贴到
textarea
中,也可以捕获非字母字符

我稍微整理了一下你的HTML。最重要的更改是
cname
cnum
上的事件。请注意,这两种情况下的事件都已更改为
oninput

<label for="cname" class="label"> The Risk Cluster Name</label>
<textarea id="cname" rows="1" cols="20" style="resize:none" placeholder="Cluster Name" oninput="validateAlpha();"></textarea>
<label for="cnum">Risk Cluster Number:</label>
<textarea id="cmun" rows="1" cols="12" style="resize:none" placeholder="Cluster Number" oninput="isNumberKey();"></textarea><br /><br /><br />

这段代码使用,一种匹配字符串中模式的方法

最佳用途

<input type="text" name="checkno" id="checkno" class="form-control"  value="" onkeypress="return isNumber(event)"/>

<input type="text" name="checkname" id="checkname" class="form-control" value="" onkeypress="return isAlfa(event)"/>


function isNumber(evt) {
    evt = (evt) ? evt : window.event;
    var charCode = (evt.which) ? evt.which : evt.keyCode;
    if (charCode > 31 && (charCode < 48 || charCode > 57)) {
        return false;
    }
    return true;
}

function isAlfa(evt) {
    evt = (evt) ? evt : window.event;
    var charCode = (evt.which) ? evt.which : evt.keyCode;
    if (charCode > 31 && (charCode < 65 || charCode > 90) && (charCode < 97 || charCode > 122)) {
        return false;
    }
    return true;
}

函数isNumber(evt){
evt=(evt)?evt:window.event;
var charCode=(evt.which)?evt.which:evt.keyCode;
如果(字符码>31&(字符码<48 | |字符码>57)){
返回false;
}
返回true;
}
函数isAlfa(evt){
evt=(evt)?evt:window.event;
var charCode=(evt.which)?evt.which:evt.keyCode;
如果(字符编码>31&(字符编码<65|字符编码>90)和&(字符编码<97|字符编码>122)){
返回false;
}
返回true;
}
功能字母唯一()
{
var charCode=event.keyCode;
如果((charCode>64&&charCode<91)| |(charCode>96&&charCode<123)| | charCode==8)
返回true;
其他的
返回false;
}
仅数字功能(输入、事件){
var keyCode=event.which?event.which:event.keyCode;
var lisShiftkeypressed=event.shiftKey;
如果(lisShiftkeypressed&&parseInt(keyCode)!=9){return false;}

如果((parseInt(keyCode)>=48&&parseInt(keyCode)=97&&parseInt(keyCode)=65&&parseInt(keyCode)“仅字符值”-你是说只有字母吗?请记住,在按键上进行验证是不够的,因为用户可能会复制/粘贴或拖放而不会导致按键事件。请改用正则表达式?以下是一些字符示例:“1”、“&”、“a”、“W”.你是指字母。是的,我想使用像A、A、b、b这样的字母。谢谢你的代码,但我只想输入字母表(小写和大写)和一些特殊字符,如“,.+-:”以及字母表之间的空格…所以你能相应地编辑你的答案吗。。。
function validateAlpha(){
    var textInput = document.getElementById("cname").value;
    textInput = textInput.replace(/[^A-Za-z]/g, "");
    document.getElementById("cname").value = textInput;
}
function isNumberKey(){
    var textInput = document.getElementById("cmun").value;
    textInput = textInput.replace(/[^0-9]/g, "");
    document.getElementById("cmun").value = textInput;
}
<input type="text" name="checkno" id="checkno" class="form-control"  value="" onkeypress="return isNumber(event)"/>

<input type="text" name="checkname" id="checkname" class="form-control" value="" onkeypress="return isAlfa(event)"/>


function isNumber(evt) {
    evt = (evt) ? evt : window.event;
    var charCode = (evt.which) ? evt.which : evt.keyCode;
    if (charCode > 31 && (charCode < 48 || charCode > 57)) {
        return false;
    }
    return true;
}

function isAlfa(evt) {
    evt = (evt) ? evt : window.event;
    var charCode = (evt.which) ? evt.which : evt.keyCode;
    if (charCode > 31 && (charCode < 65 || charCode > 90) && (charCode < 97 || charCode > 122)) {
        return false;
    }
    return true;
}
function lettersOnly() 
{
            var charCode = event.keyCode;

            if ((charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123) || charCode == 8)

                return true;
            else
                return false;
}

<input type="text" name="fname" value="" onkeypress="return lettersOnly(event)"/>
function digitonly(input,event){    

        var keyCode = event.which ? event.which : event.keyCode;
        var lisShiftkeypressed = event.shiftKey;
        if(lisShiftkeypressed && parseInt(keyCode) != 9){return false;}
        if((parseInt(keyCode)>=48 && parseInt(keyCode)<=57) || keyCode==37/*LFT ARROW*/ || keyCode==39/*RGT ARROW*/ || keyCode==8/*BCKSPC*/ || keyCode==46/*DEL*/ || keyCode==9/*TAB*/  || keyCode==45/*minus sign*/ || keyCode==43/*plus sign*/){return true;}     
        BootstrapDialog.alert("Enter Digits Only"); 
        input.focus();
        return false;           
}

function alphaonly(input,event){

        var keyCode = event.which ? event.which : event.keyCode;
        //Small Alphabets
        if(parseInt(keyCode)>=97 && parseInt(keyCode)<=122){return true;}
        //Caps Alphabets
        if(parseInt(keyCode)>=65 && parseInt(keyCode)<=90){return true;}
        if(parseInt(keyCode)==32 || parseInt(keyCode)==13 || parseInt(keyCode)==46 || keyCode==9/*TAB*/ || keyCode==8/*BCKSPC*/ || keyCode==37/*LFT ARROW*/ || keyCode==39/*RGT ARROW*/ ){return true;}
        BootstrapDialog.alert("Only Alphabets are allowed") 
        input.focus();
        return false; 
}