求助一个正则表达式匹配,文本框只允许录入:
1.阿拉伯数字1-9
2.英文字母(不限大小写)
3.中文汉字(全/半角不限)
4.中文的特殊字符这个符号:【】
内容顺序及个数不做限制,求助!!!
麻烦多给出一个答案,不需要英文字母的,在线等!!!
大兄弟,我来迟了,这篇文章应该有你想要的答案。http://www.cnblogs.com/zhangxiaoyong/p/6043283.html
[^1-9a-zA-Z\u3010\u3011\u4e00-\u9fa5]+
^[^1-9a-zA-Z\u3010\u3011\u4e00-\u9fa5]*&
我也是正则不好,每次遇到正则的问题处理起来都特别慢,所以建议楼主还是学习一下正则,试着慢慢写正则,我也在学习中,推荐一个工具:RegexBuddy,测试正则。
正则语法园子里面有好多,可以自行搜索。
http://www.cnblogs.com/52XF/articles/3740279.html
正则就是比较麻烦的 推荐去http://www.cnblogs.com/zhangxiaoyong/p/6043283.html 里面去找,有一个RegexBuddy可以测试正则 楼主快去试试吧
这个网站有正则表达式教学:http://www.jb51.net/tools/zhengze.html
http://blog.csdn.net/e_wsq/article/details/8803266
建议参考楼上的方法
<input type="text" onkeyup="f1(this,this.value)" />
<input type="text" onkeyup="f2(this,this.value)" />
<script>
function f1(input,sender) { //数字,字母,汉字,【】
if (!/^[1-9a-zA-Z\u3010\u3011\u4e00-\u9fa5]*$/.test(sender)) {
input.value = sender.substring(sender, sender.length - 1);
}
}
function f2(input, sender) { //数字,汉字,【】
if (!/^[1-9\u3010\u3011\u4e00-\u9fa5]*$/.test(sender)) {
input.value = sender.substring(sender, sender.length - 1);
}
}
</script>
一个一个堆积就行了。
1 String regex="^[\\w[\u4E00-\u9FA5]【】&&[^0]]+$";//不排除下划线 2 String regex2="^[\\w[\u4E00-\u9FA5]【】&&[^_0]]+$";//排除下划线 3 String regex3="^[1-9[\u4E00-\u9FA5]【】]+$";//不包含英文字母
这是java的写法,你可以稍微改一下