引用自CSDN https://blog.csdn.net/yjsuge/article/details/6575113?locationNum=6&fps=1正則表達式
用正則表達式對象的那三個方法去進行匹配
正則表達式在jscript中是以/XXX/形式的,兩條/線之間的是正則表達式用test方法匹配
compile 方法,從新編譯,即先前已經有的re對象從新編譯,參數是新的正則表達式.jsp
正則表達式,經過別人的例子來看,來學習.能夠到google中搜經常使用正則表達post
添加用戶的js驗證代碼以下:學習
function addUser() {
var userIdField=document.getElementById("userId");
if(trim(userIdField.value)==""){
alert("用戶代碼不能爲空");
userIdField.focus();
return;
}
/*
if(trim(userIdField.value).length<4){
alert("用戶代碼長度不能小於4");
uerIdField.focus();
return;
}*/
if(!(trim(userIdField.value).charAt(0)>='a'&&trim(userIdField.value).charAt(0)<='z')&&!(trim(userIdField.value).charAt(0)>='A'&&trim(userIdField.value).charAt(0)<='Z')){
alert("用戶代碼首字母必須爲字母");
uerIdField.focus();
return;
}
//驗證userId只能是數字或字母,長度爲4-6位(不用正則)
/*if(!(trim(userIdField.value).length>=4&&trim(userIdField.value).length<=6)){
alert("用戶代碼長度只能爲4-6位");
uerIdField.focus();
return;
}
for(var i=0;i<trim(userIdField.value).length;i++){
var c=trim(userIdField.value).charAt(i);
if(!((c>='a'&&c<='z') || (c>='A'&&c<='Z')|| (c>=0&&c<=9)) ){
alert("用戶代碼必須爲字母或數字");
uerIdField.focus();
return;
}
}*/
//採用正則表達式驗證userId只能是數字或字母,長度爲4-6位
var re=new RegExp(/^[a-zA-Z0-9]{4,6}$/);
if(!re.test(trim(userIdField.value))){
alert("用戶代碼必須爲4-6位的字母或數字");
uerIdField.focus();
return;
}
//用戶名稱不能爲空
var userNameField=document.getElementById("userName");
if(trim(userNameField.value)==""){
alert("用戶名稱不能爲空");
userNameField.focus();
return;
}
//密碼長度至少6位
var passwordField=document.getElementById("password");
if(trim(passwordField.value).length<6){
alert("密碼長度必須至少爲6位");
passwordField.focus();
return;
}
//若是聯繫電話不爲空,那麼他必須爲數字1,不用正則2用正則
var contactTelField=document.getElementById("contactTel");
//不用正則
/*if(trim(contactTelField.value)!=null){
for(var i=0;i<trim(contactTelField.value).length;i++){
var c=trim(contactTelField.value).charAt(i);
if(!(c>=0&&c<=9)){
alert("電話號碼不合法");
contactTelField.focus();
return;
}
}
}*/
//2.使用正則
if(trim(contactTelField.value)!=null){
re.compile(/^[0-9]*$/);
if(!re.test(contactTelField.value)){
alert("電話號碼不合法");
contactTelField.focus();
return;
}
}
//若是email不爲空,那麼他必須包含@,@不能在第一個和最後一個.
var emailField=document.getElementById("email");
var emailValue=trim(emailField.value);
if(emailValue!=""){
if(emailValue.indexOf("@")==0||emailValue.indexOf("@")==emailValue.length-1||emailValue.indexOf("@")<0){
alert("email不合法");
emailField.focus();
return;
}
}google
if(document.getElementById("spanUserCode").innerHTML!=""){
alert("用戶代碼已經存在");
userIdField.focus();
return;
}
with(document.getElementById("userForm")){
action="user_add.jsp";
method="post";
submit();
}
}spa
經常使用的js驗證:client_validate.js.net
//是否爲空校驗
function isEmpty(s) {
var lll=trim(s);
if( lll == null || lll.length == 0 )
return true;
else
return false;
}code
//刪除字符串左邊的空格
function ltrim(str) {
if(str.length==0)
return(str);
else {
var idx=0;
while(str.charAt(idx).search(//s/)==0)
idx++;
return(str.substr(idx));
}
}orm
//刪除字符串右邊的空格
function rtrim(str) {
if(str.length==0)
return(str);
else {
var idx=str.length-1;
while(str.charAt(idx).search(//s/)==0)
idx--;
return(str.substring(0,idx+1));
}
}對象
//刪除字符串左右兩邊的空格
function trim(str) {
return(rtrim(ltrim(str)));
}
/*日期相比較*/
function compareDate(date1, date2) {
if (trim(date1) == trim(date2))
return 0;
if (trim(date1) > trim(date2))
return 1;
if (trim(date1) < trim(date2))
return -1;
}
//校驗是不是Email
function isEmail(eml) {
if(trim(eml)!='') {
var re=new RegExp("@[//w]+(//.[//w]+)+$");
return(re.test(eml));
}
else
return(true);
}
//是不是電話號
function isTel(tel) {
var charcode;
for (var i=0; i<tel.length; i++)
{
charcode = tel.charCodeAt(i);
if (charcode < 48 && charcode != 45 || charcode > 57)
return false;
}
return true;
}
//校驗是不是實數
function isnumber(num) {
var re=new RegExp("^-?[//d]*//.?[//d]*$");
if(re.test(num))
return(!isNaN(parseFloat(num)));
else
return(false);
}
//校驗是不是整數function isinteger(num) { var re=new RegExp("^-?[//d]*$"); if(re.test(num)) return(!isNaN(parseInt(num))); else return(false);}--------------------- 做者:yjsuge 來源:CSDN 原文:https://blog.csdn.net/yjsuge/article/details/6575113 版權聲明:本文爲博主原創文章,轉載請附上博文連接!