作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 11:39:44
求高手帮忙写一个正则表达式,用来判断一个只能输入数字的文本框若输入英文、汉字或符号显示错误信息
不知道你要用什么语言来写,这里用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("必须输入数字");