怎么样用正则表达式判断真实姓名
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么样用正则表达式判断真实姓名相关的知识,希望对你有一定的参考价值。
“真实姓名”的描述有点不够精确。“真实姓名”其实应该包含两层含义:
1、真实的人
2、与真实的人相对应的真实的姓名
判断是否是“真实姓名”,除了户籍管理部门都不太准确,除非该人刚好认识。
光从“文字”的角度来判断“姓名”是否“真实”,顶多只能从规则上判断“姓名”是否符合取名的常识。
比如,中国人的“姓名”,由“姓”和“名”两部分组成,抛除一些脑洞大开、标新立异的“姓”,大多数的“姓”还是要依据诸如《百家姓》之类的传统(汉族更准确)。
可以参阅《姓名登记条例(初稿)》中有关规定:
参考技术A Cp0204^[\xa0-\xff]2,4$
真实姓名就不用想了,主要是符合姓名规范。上面表达式只判断汉字2-4位,如果要再复杂一点,可以再加上当4位时,判断2字的姓氏,你还可以加上N家姓,不过不太现实。
求高手帮忙写一个正则表达式,用来判断一个只能输入数字的文本框若输入英文、汉字或符号显示错误信息
不知道你要用什么语言来写,这里用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("必须输入数字");
^\d+$
以上是关于怎么样用正则表达式判断真实姓名的主要内容,如果未能解决你的问题,请参考以下文章
如何实现用正则表达式判断输个入的姓名是不是合法(中文,2-7个汉字)