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

正则表达式,javascript表单验证函数

2012-11-15 09:12 816 查看
索引:

1. 验证radio 是否选择

2. 检测输入长度限制

3. 3.1.1 键盘能输入只能是数字

3.1.2 键盘能输入只能是数字

3.2. 键盘不能输入数字

4. 4.1 验证邮箱格式

4.2 验证邮箱格式

5. 屏蔽关键字( 这里屏蔽*** 和****)

6. 中文/ 英文/ 数位/ 合法性判断

7. 7.1 检查一段字串是否全由数位组成

7.2 检查一段字串是否全由数位组成

8. 判断是否全是字元

9. 判断是否含有汉字

10. 判断输入是否为中文的函数

11. 11.1 判断用户名是否为数位字母下滑线

11.2 判断字符串是否为数值

12. 12.1 检查电话号码

12.2 检查电话号码

13. 验证email, 返回true & false

14. 检查是否为有效的真实姓名,只能含有中文或大写的英文字母

15. 快速比较两个字符串的不同字符

16. 检查年龄是否符合

17. 检查密码只允许由ascii 组成

18. 检查输入值是否符合整数格式

19. 检查输入字符串是否为空或者全部都是空格

20. 校验IP 地址的格式

1. 验证 radio 是否选择

<script type="text/javascript ">

function isRadioSelected(obj )

{

for (var i = 0; i < obj.oo.length; i ++)

{

if(obj.oo[i].checked == true)

{

return true;

}

}

alert(" 请选择 ");

return false;

}

</script>

<form id="form1" name="form1" method="post" action="#" onsubmit ="return isRadioSelected(this);">

<input type="radio" name="oo " value="radiobutton " />

<input type="radio" name="oo " value="radiobutton " />

<input type="submit" name="Submit" value=" 提交 " />

</form>

2. 检测输入长度限制

<script type="text/javascript ">

function checkValueLength()

{

if(document.a.b.value.length > 50)

{

alert(" 不能超过 50 个字元! ");

document.a.b.focus();

return false;

}

}

</script>

<form name="a" onsubmit ="return checkValueLength();">

<textarea name="b" cols ="40" rows="6"></textarea>

<input type="submit" name="Submit" />

</form>

3.1.1 键盘能输入只能是数字

<script type="text/javascript ">

function onlyNumbers(e)

{

var keynum ;

var keychar ;

var numcheck ;

if(window.event) // IE

{

keynum = e.keyCode;

}

else if(e.which) // Netscape /Firefox /Opera

{

keynum = e.which;

}

keychar = String.fromCharCode(keynum );

numcheck = /\d/; // \d 代表数字 0-9

return numcheck.test(keychar );

}

</script>

<input type="text" onkeypress ="return onlyNumbers(event);" />

3.1.2 键盘能输入只能是数字

<script type="text/javascript ">

function check(obj ) {

if(event.keyCode == 13 || event.keyCode == 46) {

return true;

}

if(event.keyCode < 48 || event.keyCode >57) {

return false;

} else {

return true;

}

}

</script>

<input type="text" name="textfield " onkeypress ="javascript:return check(this);" />

3.2. 键盘不能输入数字

<script type="text/javascript ">

function noNumbers(e)

{

var keynum ;

var keychar ;

var numcheck ;

if(window.event) // IE

{

keynum = e.keyCode;

}

else if(e.which) // Netscape /Firefox /Opera

{

keynum = e.which;

}

keychar = String.fromCharCode(keynum );

numcheck = /\d/;

return !numcheck.test(keychar );

}

</script>

<input type="text" onkeypress ="return noNumbers(event);" />

4.1 验证邮箱格式

<script type="text/javascript ">

function isEmail(strEmail) {

if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za -z0-9]+((\.|-)[A-Za -z0-9]+)*\.[A-Za -z0-9]+$/)!= -1) {

return true;

} else {

alert(" 格式错误 ");

}

}

</script>

<input type="text" onblur ="isEmail(this.value)" />

4.2 验证邮箱格式

<script type="text/javascript ">

function emailCheck(emailStr) {

var emailPat=/^(.+)@(.+)$/;

var matchArray=emailStr.match(emailPat);

if (matchArray==null) {

alert(" 电子邮件地址必须包括 ( @ 和 . )");

return false;

}

return true;

}

</script>

<input type="button" name="Submit" value="check" onclick ="emailCheck('123456789@qq.com ');" />

5. 屏蔽关键字 ( 这里屏蔽 *** 和 ****)

<script type="text/javascript ">

function test() {

// 这里测试是否包含 "***","****"

if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf("****") == 0)){

alert(" 包含字符串 ");

a.b.focus();

return false;

}

}

</script>

<input type="text" name="b" />

<input type="button" name="Submit" value="check" onclick ="test();" />

6. 中文 / 英文 / 数位 / 合法性判断

<script type="text/javascript ">

function isEnglish(str ) // 英文值检测

{

if(str.length == 0) return false;

for(var i = 0; i < str.length; i ++)

{

if(str.charCodeAt(i) > 128)

{

return false;

}

}

return true;

}

function isChinese(str ) // 中文值检测

{

if(str.length == 0) return false;

for(var i = 0; i < str.length; i++)

{

if(str.charCodeAt(i) <= 128)

{

return false;

}

}

return true;

}

function isNumber(str ) // 数值检测

{

if(str.length == 0) return false;

for(var i = 0; i < str.length; i++)

{

if(str.charAt(i) < "0" || str.charAt(i) > "9")

{

return false;

}

}

return true;

}

</script>

<input type="button" name="Submit" value="check" onclick ="isChinese(' 测试 ');" />

7.1 检查一段字串是否全由数位组成

<script type="text/javascript ">

function checkNum(str ) {

return str.match(/\D/) == null;

}

alert(checkNum("1232142141"));

alert(checkNum("123214214a1"));

</script>

7.2 检查一段字串是否全由数位组成

<script type="text/javascript ">

function isNumber(oNum) {

if(!oNum) return false;

var strP=/^\d+(\.\d+)?$/;

if(!strP.test(oNum)) return false;

try{

if(parseFloat(oNum) != oNum) return false;

} catch (ex ) {

return false;

}

return true;

}

</script>

<input type="button" value=" 按钮 " onclick ="isNumber('3223a2');"></input>

8. 判断是否全是字元

<script type="text/javascript ">

function checkAllChar(str ) {

if (/[^\x00-\xff ]/g.test(str )) {

alert(" 含有汉字 ");

} else {

alert(" 全是字元 ");

}

}

</script>

<input type="button" name="Submit" value="check" onclick ="checkAllChar('faafdfdsa2431243fda');" />

9. 判断是否含有汉字

<script type="text/javascript ">

function checkHasChn(str ) {

if (escape(str ).indexOf("%u") != -1) {

alert(" 含有汉字 ");

} else {

alert(" 全是字元 ");

}

}

</script>

<input type="button" name="Submit" value="check" onclick ="checkHasChn('faafdfdsa 汉字2431243fda');" />

10. 判断输入是否为中文的函数

<script type="text/javascript ">

function ischinese (s) {

var re t= true;

for(var i=0;i<s.length;i++)

{

ret = ret && (s.charCodeAt(i)>=10000);

}

return ret ;

}

</script>

<input type="button" name="Submit" value="check" onclick ="ischinese (' 汉字 ');" />

11.1 判断用户名是否为数位字母下滑线

<script type="text/javascript ">

function checkUserName(str ) {

var reg = /[^A-Za -z0-9_]/g;

if (reg.test(str )) {

return false;

} else {

return true;

}

}

</script>

<input type="button" name="Submit" value="check" onclick ="checkUserName('fdafdafdasfa_s');" />

11.2 判断字符串是否为数值

<script type="text/javascript">

function regIsNumber(fData)

{

var reg = new RegExp("^[-]?[0-9]+[\.]?[0-9]+$");

return reg.test(fData);

}

</script>

<input type="button" value=" 测试 " onclick="regIsNumber('2323.00');" />

12.1 检查电话号码

<script type="text/javascript">

function isTel(str) {

var reg=/^([0-9]|[\-])+$/g ;

if(str.length < 7 || str.length > 18) {

return false;

} else {

return reg.exec(str);

}

}

</script>

<input type="button" name="Submit" value="check" onclick="isTel('11111111111');" />

12.2 检查电话号码

<script type="text/javascript">

function regIsPhone(fData)

{

var reg = /^(\+86)?(1[0-9]{10})$/;

return reg.test(fData);

}

</script>

<input type="button" value=" 测试 " onclick="regIsPhone('11111111111');" />

13. 验证 email, 返回 true & false

<script type="text/javascript">

function isEmail(str) {

var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;

return reg.test(str);

}

</script>

<input type="button" name="Submit" value="check" onclick="isEmail('111111111@.com');" />

14. 检查是否为有效的真实姓名,只能含有中文或大写的英文字母

<script type="text/javascript">

function isEmail(str) {

var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;

return reg.test(str);

}

</script>

<input type="button" name="Submit" value="check" onclick="isEmail('111111111@.com');" />

15. 快速比较两个字符串的不同字符

<script type="text/javascript">

function compareStrs(str1, str2) {

var re = new RegExp("(?=.*?)[^" + str1 +"](?=.*?)|(?=.*?)[^" + str2 + "](?=.*?)", "g");

var arr;

while ((arr = re.exec(str1 + str2)) != null)

{

document.write(arr);

}

}

</script>

<input type="button" name="Submit" value="check" onclick="compareStrs('abc 字符串 ', 'abe 字 fg');" />

16. 检查年龄是否符合

<script type="text/javascript">

function isAge(str){

var mydate = new Date();

var now = mydate.getFullYear();

if (str < now - 60 || str > now - 18) {

alert("false");

return false;

}

alert("true");

return true;

}

</script>

<input type="button" name="Submit" value="check" onclick="isAge('1990');" />

17. 检查密码只允许由 ascii 组成

<script type="text/javascript">

function checkValidPasswd(str) {

var reg = /^[x00-x7f]+$/;

if (! reg.test(str)) {

return false;

}

if (str.length < 6 || str.length > 16) {

return false;

}

return true;

}

</script>

<input type="button" name="Submit" value="check" onclick="checkValidPasswd('19fda90');" />

18. 检查输入值是否符合整数格式

<script type="text/javascript">

function isInteger(str) {

var regu = /^[-]{0,1}[0-9]{1,}$/;

return regu.test(str);

}

</script>

<input type="button" name="Submit" value="check" onclick="isInteger('1990');" />

19. 检查输入字符串是否为空或者全部都是空格

<script type="text/javascript">

function isNull(str){

if (str == "") return true;

var regu = "^[ ]+$";

var re = new RegExp(regu);

alert(re.test(str));

return re.test(str);

}

</script>

<input type="button" name="Submit" value="check" onclick="isNull(' ');" />

20. 校验 IP 地址的格式

<script type="text/javascript">

function isIP(strIP) {

if (strIP.length == 0)

{

return false;

}

var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g;

if(re.test(strIP))

{

if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256)

{

return true;

}

}

return false;

}

</script>

<input type="button" name="Submit" value="check" onclick="isIP('127.0.0.1');" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: