求高手帮忙写一个正则表达式,用来判断一个只能输入数字的文本框若输入英文、汉字或符号显示错误信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求高手帮忙写一个正则表达式,用来判断一个只能输入数字的文本框若输入英文、汉字或符号显示错误信息相关的知识,希望对你有一定的参考价值。

不知道你要用什么语言来写,这里用js来做示例,反正限制只能输入数字的正则表达式是一样用的,就是 ^[0-9]*$,你在别的语言里也一样用。

下面是例子:

<html>
<head>
<!--
    保存此脚本为 test.html,允许浏览器运行脚本,打开此脚本进行测试
-->
<script type="text/javascript">
function check()

    var str;
    str = document.getElementById("txtInput").value;
    if (str.match(/^[0-9]*$/) == null)
    
        alert("非数字。");
    

</script>
</head>
<body>
    输入:<input type="text" id="txtInput" value="" onpropertychange="check()" />
</form>
</body>
</html>

追问

我要用Java来写,我原来的正则表达式是这样写的:
regex="[^1234567890.]";
if(txts.getText().matches(regex))System.out,print("必须输入数字");
但是我把[^1234567890.]改成^[0-9]*$后,运行下来我在文本框里输入英文后发现直接显示错误,不显示说“必须输入数字”。请问怎么改?

追答

没用过java,不过看你的正则应该也是行得通的(虽然说可能出现多个小数点的情况 123.123.23,但不至于出错)。
错误提示是什么,你去排排错应该就行了吧。
另外你上面的语句是不是点号错打成逗号了:System.out,print("必须输入数字"); -> System.out.print("必须输入数字");

参考技术A 用如下正则即可
^\d+$

求一个正则表达式: 以英文字母开头,只能包含英文字母、数字、下划线

^[a-zA-Z][a-zA-Z0-9_]*$

拓展:

1.正则表达式:

又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。

2.简介:

正则表达式是对字符操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个规则字符串,这个规则字符串用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串。

3.来源:

正则表达式可一直追溯到科学家对人类神经系统工作原理的早期研究。

4.含义:

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

参考技术A ^[a-zA-Z][a-zA-Z0-9_]*$本回答被提问者采纳 参考技术B ^[a-zA-Z][a-zA-Z0-9_]*$ 这个可以。

参考资料:http://www.zhongguosou.com/blog/post/579.html

以上是关于求高手帮忙写一个正则表达式,用来判断一个只能输入数字的文本框若输入英文、汉字或符号显示错误信息的主要内容,如果未能解决你的问题,请参考以下文章

求大神帮忙写一个只允许是百分数的js正则表达式(从0%至100%,中间数字允许两位小数)。

判断只能输入 大于0的整数或小数 正则表达式 怎么写

求一个正则表达式只能输入数字小数点后两位和

求一个正则表达式 判断只能是数字、字母、下划线

求JS的判断输入数字必须为正整数的正则表达式

js正则表达试只能输入数字怎么写?