日期:2014-05-16  浏览次数:20360 次

如何写正则表达式
本帖最后由 wumaoming 于 2013-03-07 22:38:54 编辑
一个文本框既可以输入用户名,也可以输入ipv4地址,请问要如何写正则表达式来检查输入的格式是不是对。麻烦帮忙大家帮忙写一个。谢谢

------解决方案--------------------
var reg = /(^[a-zA-Z\_][a-zA-Z0-9\_]*$)
------解决方案--------------------
(^\d{1,3}(\.\d{1,3}){3}$)/gi;

写的比较简单,用户名的格式是,只支持字母,数字,和下划线,必须以字母和下划线开头
ipv4也只是写的四个三位数和三个点的格式,对数据的大小没有判断
------解决方案--------------------
/^([A-Z0-9a-z\u4e00-\u9fa5]+)
------解决方案--------------------
((([1-9]
------解决方案--------------------
([1-9]\d)
------解决方案--------------------
(1\d\d)
------解决方案--------------------
(2([0-4]\d
------解决方案--------------------
5[0-5])))\.){3}([1-9]
------解决方案--------------------
([1-9]\d)
------解决方案--------------------
(1\d\d)
------解决方案--------------------
(2([0-4]\d
------解决方案--------------------
5[0-5]))))$/

匹配用户名:26个英文字母大小写、汉语、数字;ip:1-255:1-255:1-255:1-255
------解决方案--------------------
如果没有特殊要求,不一定非得把两种情况揉到一个正则中去。

var success = condition1() 
------解决方案--------------------
 condition2();
------解决方案--------------------
^\w+$
------解决方案--------------------
^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$

------解决方案--------------------
引用:
JavaScript code?1^\w+$
------解决方案--------------------
^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$


补充一点,ip地址每一个位段不能大于255、小于1,这个正则就无能为力了,得自己加程序判断。