您的位置:首页 > Web前端 > JavaScript

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

2018-01-14 16:37 726 查看
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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: