和风细雨

世上本无难事,心以为难,斯乃真难。苟不存一难之见于心,则运用之术自出。

在JavaScript中使用正则表达式验证表单字段

JavaScript中对正则表达式的支持
正则表达式在JS的最大用处就是验证表单字段,如验证数字,验证邮件和验证汉字等。
JavaScript中对正则表达式的支持是通过RegExp类实现的。你可以以如下方式建立一个正则表达式:
var regex=new RegExp("^[1-9]+\\d*$");
而验证的方法是regex.test(str),它返回str是否符合regex的结果。

JS中正则表达式和Java中的异同。
JavaScript
1.建立:
var regex=new RegExp("^[1-9]+\\d*$");
2.验证
return regex.test(str);
3.写法上,要验证字符串,JS中必须把起始符号^和结束符号$写全,否则就是包含验证而不是全匹配验证.除此外其它部分都是一致的.

Java
1.建立:
String regex="\\d*";
2.验证:
return Pattern.matches(regex,text);
3.写法上,JAVA中进行全匹配验证不需写全起始符号^和结束符号$.

一个完整的验证过程

表单元素:
<input type="text" name="positiveinteger"
value="1" />

表单提交之前的验证函数:
var positiveinteger=$("positiveinteger").value;
if(isPositiveInteger(positiveinteger)==false){
     $("positiveinteger").focus();
     $("checkMsg").innerHTML="正整数验证不通过";
     return false;
}
else{
     $("checkMsg").innerHTML="正整数验证通过";
}

验证函数:
function isPositiveInteger(str){
     var regex=new RegExp("^[1-9]+\\d*$");
     return regex.test(str);
}


常用验证函数

/**
* 正整数验证*/
function isPositiveInteger(str){
  var regex=new RegExp("^[1-9]+\\d*$");
  return regex.test(str);
}

/**
* 负整数验证
*/
function isNegativeInteger(str){
  var regex=new RegExp("^-{1}\\d+$");
  return regex.test(str);
}

/**
* 非负整数验证
*/
function isNonnegativeInteger(str){
  var regex=new RegExp("^\\d+$");
  return regex.test(str);
}

/**
* 整数验证
*/
function isInteger(str){
  var regex=new RegExp("^-?\\d+$");
  return regex.test(str);
}

/**
* 有理数验证
*/
function isRationalNumber(str){
  var regex=new RegExp("^-?\\d+(\\.*)(\\d*)$");
  return regex.test(str);
}

/**
* 英语字母验证
*/
function isLetter(str){
  var regex=new RegExp("^[a-zA-Z]+$");
  return regex.test(str);
}

/**
* 英数字验证
*/
function isLetterOrInteger(str){
  var regex=new RegExp("^[a-zA-Z0-9]+$");
  return regex.test(str);
}

/**
* 邮件验证
*/
function isEmail(str){
  var regex=new RegExp("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");
  return regex.test(str);
}

/**
* 汉字验证
*/
function isCharacter(str){
  var regex=new RegExp("^[\u4E00-\u9FA5]+$");
  return regex.test(str);
}

/**
* 货币验证
*/
function isCurrency(str){
  return str.search("^\\d+(\\.\\d{0,2})*$")==0;
}

posted on 2008-03-02 16:00 和风细雨 阅读(2000) 评论(2)  编辑  收藏 所属分类: JavaScript

评论

# re: 在JavaScript中使用正则表达式验证表单字段 2012-04-07 23:14 lin

楼主太让我感动了,谢谢  回复  更多评论   

# re: 在JavaScript中使用正则表达式验证表单字段[未登录] 2014-08-07 10:54 squirrel

谢谢楼主!  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: