javascript常用的一些判断输入验证

<script language="javascript">

 

//去左空格;
function ltrim(s){
    return s.replace( /^/s*/, ""); 

}
//去右空格;
function rtrim(s){
    return s.replace( //s*$/, "");
}
//去左右空格;
function trim(s){
    return rtrim(ltrim(s));
}
//是否为空值;
function IsEmpty(_str){
    var tmp_str = trim(_str);
    return tmp_str.length == 0;
}
//是否有效的Email;
function IsMail(_str){
    var tmp_str = trim(_str);
    var pattern = /^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$/;
    return pattern.test(tmp_str);
}
//是否有效的数字;
function IsNumber(_str){
    var tmp_str = trim(_str);
    var pattern = /^[0-9]/;
    return pattern.test(tmp_str);
}
//是否有效的颜色值;
function IsColor(color){
    var temp=color;
    if (temp=="") return true;
    if (temp.length!=7) return false;
    return (temp.search(//#[a-fA-F0-9]{6}/) != -1);
}
//是否有效的链接;
function IsURL(url){
    var sTemp;
    var b=true;
    sTemp=url.substring(0,7);
    sTemp=sTemp.toUpperCase();
    if ((sTemp!="HTTP://")||(url.length<10)){
        b=false;
    }
    return b;
}
//是否有效的手机号码;
function IsMobile(_str){
    var tmp_str = trim(_str);
    var pattern = /13/d{9}/;
    return pattern.test(tmp_str);
}

</script>

   1、replace 
  replace在一个字符串中通过正则表达式查找替换相应的内容。replace并不改变原来的字符串,只是重新生成了一个新的字符串。如果需要执行全局查找或忽略大小写,那么在正则表达式的最后添加g和i。 
例: 
<SCRIPT> 
re = /apples/gi; 
str = "Apples are round, and apples are juicy."; 
newstr=str.replace(re, "oranges"); 
document.write(newstr) 
</SCRIPT> 
结果是:"oranges are round, and oranges are juicy." 
例: 
<SCRIPT> 
str = "Twas the night before Xmas..."; 
newstr=str.replace(/xmas/i, "Christmas"); 
document.write(newstr) 
</SCRIPT> 
结果是:"Twas the night before Christmas..." 
例: 
<SCRIPT> 
re = /(/w+)/s(/w+)/;str = "John Smith"; 
newstr = str.replace(re, "$2, $1"); 
document.write(newstr) 
</SCRIPT> 
结果是:"Smith, John". 
  2、search 
search通过正则表达式查找相应的字符串,只是判断有无匹配的字符串。如果查找成功,search返回匹配串的位置,否则返回-1。 
search(regexp) 
<SCRIPT> 
function testinput(re, str){ 
if (str.search(re) != -1) 
midstring = " contains "; 
else 
midstring = " does not contain "; 
document.write (str + midstring + re.source); 

testinput(/^[1-9]/i,"123") 
</SCRIPT> 
  3、match 
  match方法执行全局查找,查找结果存放在一个数组里。 
例一: 
<SCRIPT> 
str = "For more information, see Chapter 3.4.5.1"; 
re = /(chapter /d+(/./d)*)/i; 
found = str.match(re); 
document.write(found); 
</SCRIPT> 
显示结果:Chapter 3.4.5.1,Chapter 3.4.5.1,.1 
例二: 
<SCRIPT> 
str = "abcDdcba"; 
newArray = str.match(/d/gi); 
document.write(newArray); 
</SCRIPT> 
显示结果D, d. 

 

  四、示例
1 、判断数字的正确性 
<%@ Language=VBScript %> 
<script language="javascript" runat="server"> 
function isNumeric(strNumber) { 
return (strNumber.search(/^(-|/+)?/d+(/./d+)?$/) != -1); 

function isUnsignedNumeric(strNumber) { 
return (strNumber.search(/^/d+(/./d+)?$/) != -1); 

function isInteger(strInteger) { 
return (strInteger.search(/^(-|/+)?/d+$/) != -1); 

function isUnsignedInteger(strInteger) { 
return (strInteger.search(/^/d+$/) != -1); 

</script> 
<HTML> 
<BODY> 
<b>判断数字的正确性</b> 
<% 
Dim strTemp 
strTemp = CStr(Request.Form("inputstring")) 
If strTemp = "" Then strTemp = "0" 
%> 
<TABLE BORDER="1" CELLPADDING="4" CELLSPACING="2"> 
<TR> 
<TD ALIGN="right"><B>原始字符串</B></TD> 
<TD><%= strTemp %></TD> 
</TR> 
<TR> 
<TD ALIGN="right"><B>数字</B></TD> 
<TD><%=isNumeric(strTemp)%></TD> 
</TR> 
<TR> 
<TD ALIGN="right"><B>非负数字</B></TD> 
<TD><%=isUnsignedNumeric(strTemp)%></TD> 
</TR> 
<TR> 
<TD ALIGN="right"><B>整数</B></TD> 
<TD><%=isInteger(strTemp)%></TD> 
</TR> 
<TR> 
<TD ALIGN="right"><B>非负整数()</B></TD> 
<TD><%=isUnsignedInteger(strTemp)%></TD> 
</TR> 
</TABLE> 
<FORM ACTION="<%=Request.ServerVariables("SCRIPT_NAME")%>" METHOD="post"> 
请输入一个数字:<BR> 
<INPUT TYPE="text" NAME="inputstring" SIZE="50"></INPUT><BR> 
<INPUT TYPE="submit" Value="提交"></INPUT><BR> 
</FORM> 
</BODY> 
</HTML> 
2、判断Email地址的正确性 
<% 
Function isemail(strng) 
isemail = false 
Dim regEx, Match 
Set regEx = New RegExp 
regEx.Pattern = "^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9]+((/.|-)[A-Za-z0-9]+)*/.[A-Za-z0-9]+$" 
regEx.IgnoreCase = True 
Set Match = regEx.Execute(strng) 
if match.count then isemail= true 
End Function 
%>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值