js正則驗證

<html>
<head>
<title>正則表達式驗證示例</title>
<script language="JavaScript">
<!--
function checkdata(){//檢查函數
//檢查是否數字
var txt = document.forms[0].num.value;
if(txt.search("^-?//d+(//.//d+)?$")!=0){
alert("請輸入一個數字!");
document.forms[0].num.select();
return false;
}
//檢查是否整數
txt = document.forms[0].int.value;
if(txt.search("^-?//d+$")!=0){
alert("請輸入一個整數!");
document.forms[0].int.select();
return false;
}
//檢查EMAIL是否合法
txt = document.forms[0].email.value;
if(txt.search("^(?://w+//.?)*//w+@(?://w+//.?)*//w+$")!=0){
alert("請輸入正確的電子郵件!");
document.forms[0].email.select();
return false;
}
alert("檢查通過!");
return true;
}
-->
</script>
</head>
<body>
<p>
<form action="" method="post" OnSubmit="return checkdata()">
<br>請輸入一個數字:<input type="text" name="num">
<br>請輸入一個整數:<input type="text" name="int">
<br>請輸入電子郵件:<input type="text" name="email">
<br><input type="submit" value="提交">
<form>
</body>
</html>

再補充一些:常用驗證:

<script language="JavaScript">
<!-- //對付老式瀏覽器所用註釋

function testisNum(s){
var s =document.getElementById('num').value;
if(isNum(s))
{
alert("是數字");
}
else
{
alert("請出入數字");
}
}


?//校驗用戶姓名:只能輸入3-20個以字母和數字開頭的字串
function isTrueName(s)
{
var pattern=/^/w{3,20}$/;
if(pattern.exec(s))
{
return true;
}
return false;
}
//校驗普通電話、傳真號碼:可以“+”開頭,除數字外,可含有“-”
function isTel(s)
{
var pattern =/^[+]{0,1}(/d){1,3}[ ]?([-]?((/d)|[ ]){1,12})+$/;
if(pattern.exec(s))
{
return true;
}
return false;
}
//校驗手機號碼:必須以數字開頭,除數字外,可含有“-”
function isMobile(s)
{
//var patrn=/^[+]{0,1}(/d){1,3}[ ]?([-]?((/d)|[ ]){1,12})+$/;
var patrn=/^((/(/d{0,3}/))|(/d{0,3}/-))?13|15/d{9}$/;
if (!patrn.exec(s)){
return false;
}
return true;
}
//校驗(國內)郵政編碼
function isPostalCode(s)
{
var patrn=/^[0-9]{6}$/;
//var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(s)){
return false;
}
return true;
}

function isIP(s) //by zergling
{
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)) {
return false;
}
return true;
}
//校驗郵箱
function isEmail(s)
{
var patrn=/^[a-zA-Z0-9_/-]{1,}@[a-zA-Z0-9_/-]{1,}/.[a-zA-Z0-9_/-.]{1,}$/;
if (!patrn.exec(s)) {
return false;
}
return true;
}
//校驗日期
function isdate(s)
{
var patrn=/^((/d{2}(([02468][048])|([13579][26]))[/-///s]?((((0?[13578])|(1[02]))[/-///s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[/-///s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[/-///s]?((0?[1-9])|([1-2][0-9])))))|(/d{2}(([02468][1235679])|([13579][01345789]))[/-///s]?((((0?[13578])|(1[02]))[/-///s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[/-///s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[/-///s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(/s(((0?[0-9])|([1-2][0-3]))/:([0-5]?[0-9])((/s)|(/:([0-5]?[0-9])))))?$/;
if (!patrn.exec(s)){
return false;
}
return true;
}

//校驗貨幣格式
function isCurrency(s)
{
var patrn=/^/d+(/./d+)?$/;
if (!patrn.exec(s)) {
return false;
}
return true;
}
//校驗搜索關鍵字
function isSearch(s)
{
var patrn=/^[^`~!@#$%^&*()+=|///][/]/{/}:;/'/,.<>?]{1}[^`~!@$%^&()+=|///][/]/{/}:;/'/,.<>?]{0,19}$/;
if (!patrn.exec(s)) {
return false;
}
return true;
}
//檢查是否數字
function isNum(s)
{
var pattern = /^/d+(/./d+)?$/;
if(pattern.test(s))
{
return true;
}
return false;
}
//檢查是否整數
function isInt(s)
{
var pattern = /^-?/d+$/;
if(s.search(pattern)!=0)
{
return false;
}
return true;
}
-->
</script>

 

發佈了14 篇原創文章 · 獲贊 0 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章