Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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_Regex - Fatal编程技术网

Javascript 需要数字验证正则表达式吗

Javascript 需要数字验证正则表达式吗,javascript,regex,Javascript,Regex,在创建正则表达式之前,必须考虑以下几点: 在用户无法删除的每个数字之前添加+(加号) 数字长度最小值2最大值20 仅允许数字、退格、箭头键 现在我用的是: 函数验证枚举器(事件){ var regex=new RegExp(“^[0-9?*+*]+$”; var key=String.fromCharCode(event.charCode?event.which:event.charCode); if(regex.test(key)| event.keyCode==8){ 返回true; }

在创建正则表达式之前,必须考虑以下几点:

在用户无法删除的每个数字之前添加+(加号)

数字长度最小值2最大值20

仅允许数字、退格、箭头键

现在我用的是:

函数验证枚举器(事件){
var regex=new RegExp(“^[0-9?*+*]+$”;
var key=String.fromCharCode(event.charCode?event.which:event.charCode);
if(regex.test(key)| event.keyCode==8){
返回true;
}
否则{
event.preventDefault();
返回false;
}
}
试试这个(从我的项目中得到的)

函数isNumberKey(evt){
var charCode=(evt.which)?evt.which:event.keyCode;
如果(字符码>31&(字符码<48 | |字符码>57))
返回false;
返回true;
}
尝试下面的代码

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1    /jquery.min.js"></script>
<script>
function isNumber(evt) {
evt = (evt) ? evt : window.evt;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 37 && charCode != 39) {
    return false;
}
return true;
}
</script>
</head>
<body>

Enter your name: <input type="text" onkeypress="return isNumber(event);">

</body>
</html>

函数isNumber(evt){
evt=(evt)?evt:window.evt;
var charCode=(evt.which)?evt.which:evt.keyCode;
如果(charCode>31&&(charCode<48|charCode>57)&&charCode!=37&&charCode!=39){
返回false;
}
返回true;
}
输入您的姓名:

我得到了正确的答案,我知道我更新鲜,而且我没有足够的知识,但是如果你没有发现问题中的错误,而是与任何人分享,那么为什么你要使用这个标签和废话…

查看此链接以获得我问题的完美答案


非常感谢回答我问题或试图回答我问题的朋友们。。朋友们,坚持下去

java不是Javascript为什么使用
java
标记?你查过相关问题了吗?关于regexp或者其他解决方案已经有很多帖子了。所以这里不是为您提供regexp。解释你的测试,它无法解释问题亲爱的AxelH,我正在使用ajax的spring boot中工作,因此添加java标记,你是真的很多朋友提供了数字输入的解决方案,但我的查询不同,我认为你没有正确阅读,或者,如果你有任何参考资料,请在这里发表评论…我现在知道如何使用正则表达式表示数字,但如何使用正则表达式或javascriptyes在每个数字之前添加+,而且只有第一位,我知道了,但它在jquery中,如果你知道如何使用java脚本,请与我分享你试图同时应用keypress事件和regx验证,这不是编写代码的好方法。用一个选项。如你的问题“添加+(加号)之前,每个数字用户不能删除。号码长度min 2最大20”你可以使用这个Rex^ ^ + [ 0 - 9] {2,22} $你能让它为我演示吗??
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1    /jquery.min.js"></script>
<script>
function isNumber(evt) {
evt = (evt) ? evt : window.evt;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 37 && charCode != 39) {
    return false;
}
return true;
}
</script>
</head>
<body>

Enter your name: <input type="text" onkeypress="return isNumber(event);">

</body>
</html>