正则表达式的应用实例通俗说明

发表于:2007-07-04来源:作者:点击数: 标签:
//校验是否全由数字组成 /^[0-9]{1,20}$/ ^ 表示打头的字符要匹配紧跟^后面的规则 $ 表示打头的字符要匹配紧靠$前面的规则 [ ] 中的内容是可选字符集 [0-9] 表示要求字符范围在0-9之间 {1,20}表示数字字符串长度合法为1到20,即为[0-9]中的字符出现次数的范围
//校验是否全由数字组成

/^[0-9]{1,20}$/



^ 表示打头的字符要匹配紧跟^后面的规则

$ 表示打头的字符要匹配紧靠$前面的规则

[ ] 中的内容是可选字符集

[0-9] 表示要求字符范围在0-9之间

{1,20}表示数字字符串长度合法为1到20,即为[0-9]中的字符出现次数的范围是1到20次。



/^ 和 $/成对使用应该是表示要求整个字符串完全匹配定义的规则,而不是只匹配字符串中的一个子串。



*******************************************************************************

//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串

/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/



^[a-zA-Z]{1} 表示第一个字符要求是字母。

([a-zA-Z0-9]|[._]){4,19} 表示从第二位开始(因为它紧跟在上个表达式后面)的一个长度为4到9位的字符串,它要求是由大小写字母、数字或者特殊字符集[._]组成。



*******************************************************************************

//校验用户姓名:只能输入1-30个以字母开头的字串

/^[a-zA-Z]{1,30}$/



*******************************************************************************

//校验密码:只能输入6-20个字母、数字、下划线

/^(\w){6,20}$/



\w:用于匹配字母,数字或下划线字符



*******************************************************************************

//校验普通电话、传真号码:可以“+”或数字开头,可含有“-” 和 “ ”

/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/



\d:用于匹配从0到9的数字;

“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次



可以匹配的字符串如:+123 -999 999 ; +123-999 999 ;123 999 999 ;+123 999999等













*******************************************************************************

//校验URL

/^http[s]{0,1}:\/\/.+$/ 或 /^http[s]{0,1}:\/\/.{1,n}$/ (表示url串的长度为length(“https://”) + n )



\ / :表示字符“/”。

. 表示所有字符的集

+ 等同于{1,},就是1到正无穷吧。



*******************************************************************************

//校验纯中文字符

/^[\u4E00-\u9FA5]+$/



[\u4E00-\u9FA5] :估计是中文字符集的范围吧



以上表达式均在下面的javascript中测试通过



<html>

<script language="JavaScript">

<!--

function regx(r,s)

{

if (r == null || r == ""){

return false;

}

var patrn= new RegExp(r);

if (patrn.exec(s))

return true

return false

}



-->

</script>

<body>

<form>

规则表达式 : <input type="input" name="regxStr" value="" > (填写/ /之间的表达式)

<br>

校验字符串 : <input type="input" name="str" value="" >



<input type="button" name="match" value="匹配" onClick="alert(regx(regxStr.value,str.value));">

</form>

</body>

</html>

原文转自:http://www.ltesting.net