怎么在javascript里面怎么检验输入栏内数字和字母特定位置排列,否则提示错误...

作者&投稿:长沙金 (若有异议请与网页底部的电邮联系)
用JS如何验证输入必须是字母或数字?~

给你参考一下
js类:
/***************************************************************
* 作者:mousecat, mousecat4444@126.com
* 版本:v1.3
* 修改记录:
* (1)增加默认验证提示信息。
* (2)修改电话号码验证规则,使之符合086-010-87654321
* (3)简化类调用方式
* (4)简化描述符字符个数
* (5)增加相关验证符(小数验证,整数验证)
* (6)更新帮助说明
* (7)去掉收尾两边空格
* (8)没有rq标识符验证的控件,当为空时可以正确提交,当不为空时根据添加的验证符进行判断
* (9)没有自定义函数对象可以正常运行
* (10)修改程序容错信息
*
* 特点:
* (1)描述符(validation descrīptor)实现验证
* (2)允许添加自定义函数
* (3)面向对象(the oriented_object)
* (4)验证方式包括:onSubmit,onBlur,AJAX。
* (5)应用div形式显示提示信息
* (6)对提示信息应用css样式
* (7)对于程序级错误给予提示
* (8)正确识别中文、英文字符长度
* (9)实现表单控件验证、表单集合验证
* (10)对于大型表单验证更加方便容易
* (11)支持 ie6、firefox2.0 浏览器
* (12)方便调用方式
* (13)设置缺省提示信息
*
* 使用说明:
* (1)包含js验证类
*
*
*
* (2)定义验证对象集合
* var a_fields = {
* 'username':{'rq':'必填项', 'mx=5':'', 'aa':'字母'},
* 'Email':{'mx=20':'', 'rq':'', 'el':''},
* 'Phone':{'te':''},
* 'introduce':{'mx=20':''},
* 'address':{'ds=0':'必须选择地区!'}
* }
* 其中,
* 'username':代表需要验证的表单控件
* 'rq':验证标识符(参见标识符说明)
* '必填项':验证提示信息
* (3)调用验证主函数
* html_form(a_fields, 'myform', 'testCustom');
* 参数1:验证对象集合
* 参数2:表单名称
* 参数3:自定义函数名称
* (4)备注:
* testCustom:自定义验证函数
*
* 注意事项:
* (1)验证提示div的id需要按照验证控件id值+"txt"形式表示
* 如:验证控件id为username,那么显示提示信息的位置id为txtusername。
* (2)当使用控件验证时,需要增加控件的自定义属性(详见使用范例)
* descrīptor:验证描述符列表,中间用"|"分隔(可采用默认提示信息)
* errormsg:错误信息列表,中间用"|"分隔,对应顺序应该和descrīptor顺序一致,最后一项应为正确时(默认)的提示信息
* 如果某一提示信息采用默认形式"|"不能省略
* (3)js验证类对象声明必须在html form之后
* (4)验证标识符必须保持一致
* (5)验证提示信息必须保持一致
* (6)控件验证标识符(descrīptor)和定义的验证标识符对象必须相同。
*
* 标识符说明(括号内标识为略写模式):
* (1)required(rq):必填项
* (2)maxlength=???(mx=???):最大长度,例:maxlen=25
* (3)minlength=???(mi=???):最小长度,例:minlen=5
* (4)alphanumeric(an):验证字符和数字
* (5)numeric(nc):验证数字
* (6)alpha(aa):验证字符
* (7)email(el):验证邮箱
* (8)lessthan=???(lt):验证对象要小于某值,例:lt=1000
* (9)greaterthan=???(gt):验证对象要大于某值,例:gt=10
* (10)regexp=???(rg=???):正则表达式验证,例:regexp=^[A-Za-z]{1,20}$
* (11)doselect=0(ds=0):验证select控件是否被选择
* (12)alnumhyphen(ay):验证字符、数字、-
* (13)telephone(te):验证电话格式,例:086-010-58022633
* (14)real(rl):验证实数格式,例:12.34
* (15)http(hp):验证url地址格式,例:http://www.baidu.com/aa.index?flag=1&fadsf=2
*
****************************************************************/
/////////////////参数初始化////////////////////////////
//缺省样式规则
//格式:错误样式|正确样式
var defaultStyle = "style2|style1";
//缺省错误提示
var ōbjDescTips = {
required : "请输入必填项",
maxlength : "输入项最大长度不能超过",
minlength : "输入项最小长度不能小于",
alphanumeric : "输入项必须为字母和数字",
numeric : "输入项必须为数字",
alpha : "输入项必须为字母",
alnumhyphen : "输入项必须为字母、数字、横线、下划线",
email : "输入项必须为电子邮件格式",
lessthan : "输入项必须为数字",
lessthan_two : "输入项必须小于",
greaterthan : "输入项必须为数字",
greaterthan_two : "输入项必须大于",
regexp : "输入项必须符合自定义格式",
doselect : "请选择下拉选项",
telephone : "固定电话格式错误",
real : "实数格式错误",
http : "网址格式错误"
}
//缺省正确提示信息
var defaultTip = {
username : "请输入用户名",
Email : "请输入邮箱地址",
Phone : "请输入电话号码",
introduce : "请输入个人描述",
Lovers : "请选择个人爱好",
address : "请选择地区"
};
///////////////////////功能函数//////////////////////////////////
window.onerror = function() {return true};
String.prototype.trueLen = function() {return this.replace(/[^\x00-\xff]/g,"**").length;}
String.prototype.trim = function() {return this.replace(/(^\s*)|(\s*$)/g, "");};
//快捷方式
function $() {
return document.getElementById(arguments[0]);
}
//信息提示
function dispInfo(msgObj, msgInfo, msgClass) {
var ōbjName = msgObj.name
var msgItem = $("txt" + objName);

if (!msgItem) {
alert("Bug: " + objName + "缺少信息显示区域!");
return false;
}

msgItem.style.display = "block";
msgItem.className = msgClass;
msgItem.innerHTML = msgInfo;
}
//////////////////////////////核心类//////////////////////////////
//控件验证
function unitCheck(evt) {
var evt = evt ? evt : window.event;
var srcEle = (evt.target) ? evt.target : evt.srcElement;
var strDescrīptor = srcEle.getAttribute("descrīptor");
var arrDescrīptor = strDescrīptor.split('|');
var arrStyle = defaultStyle.split('|');

if (srcEle.getAttribute("errormsg") == null) {
var arrErrorMsg = new Array();
} else {
var strErrorMsg = srcEle.getAttribute("errormsg");
var arrErrorMsg = strErrorMsg.split('|');
}

if (strDescrīptor.search(/rq|required|ds/gi) == -1) {
if (srcEle.value.length == 0) {
dispInfo(srcEle, defaultTip[srcEle.id], arrStyle[1]);
return true;
}
}

for (var iteDes = 0; iteDes < arrDescrīptor.length; iteDes++) {
if (!V2validateData(arrDescrīptor[iteDes], srcEle, arrErrorMsg[iteDes])) return false;
}
disName = srcEle.name;
dispInfo(srcEle, defaultTip[disName], arrStyle[1]);
return true;
}
function Validator(frmname) {
this.formobj = document.forms[frmname];
this.strForm = frmname;
if(!this.formobj) {
alert("BUG: 不能得到表单对象" + frmname);
return false;
}
if(this.formobj.onsubmit) {
this.formobj.old_onsubmit = this.formobj.onsubmit;
this.formobj.onsubmit = null;
} else {
this.formobj.old_onsubmit = null;
}
this.formobj.onsubmit = form_submit_handler;
this.addValidation = add_validation;
this.setAddnlValidationFunction = set_addnl_vfunction;
this.clearAllValidations = clear_all_validations;
}
function set_addnl_vfunction(functionname) {
this.formobj.addnlvalidation = functionname;
}
function clear_all_validations() {
for(var itr = 0;itr < this.formobj.elements.length;itr++) {
this.formobj.elements[itr].validationset = null;
}
}
function form_submit_handler() {
for(var itr = 0;itr < this.elements.length;itr++) {
if(this.elements[itr].validationset && !this.elements[itr].validationset.validate()) {
return false;
}
}
if(this.addnlvalidation) {
str =" var ret = "+this.addnlvalidation+"()";
eval(str);
if(!ret) return ret;
}
return true;
}
function add_validation(itemname, descrīptor, errstr) {
if(!this.formobj) {
alert("BUG: 不能得到表单对象!");
return;
}
var itemobj = this.formobj[itemname];
if(!itemobj) {
alert("BUG: 不能得到被验证对象: "+itemname);
return false;
}
if(!itemobj.validationset) {
itemobj.validationset = new ValidationSet(itemobj);
}
itemobj.validationset.add(descrīptor, errstr);
}
function ValidationSet(inputitem) {
this.vSet = new Array();
this.add = add_validationdesc;
this.validate = vset_validate;
this.itemobj = inputitem;
}
function add_validationdesc(desc, error) {
this.vSet[this.vSet.length] = new ValidationDesc(this.itemobj, desc, error);
}
function vset_validate() {
for(var itr=0;itr<this.vSet.length;itr++) {
if(!this.vSet[itr].validate()) {
return false;
}
}
return true;
}
function ValidationDesc(inputitem, desc, error) {
this.desc=desc;
this.error=error;
this.itemobj = inputitem;
this.validate=vdesc_validate;
}
function vdesc_validate() {
var arrStyle = defaultStyle.split('|');

if (!this.itemobj.getAttribute("descrīptor")) {
alert('Bug:缺少' + this.itemobj.id + '验证标识符descrīptor');
return false;
}
if (this.itemobj.getAttribute("descrīptor").search(/rq|required|ds/gi) == -1) {
if (this.itemobj.value.length == 0) {
dispInfo(this.itemobj, defaultTip[this.itemobj.id], arrStyle[1]);
return true;
}
}

if(!V2validateData(this.desc, this.itemobj, this.error)) {
this.itemobj.focus();
return false;
}
return true;
}
function V2validateData(strValidateStr, objValue, strError) {
var epos = strValidateStr.search("=");
var command = "";
var cmdvalue = "";
var arrStyle = defaultStyle.split('|');

if(epos >= 0) {
command = strValidateStr.substring(0,epos);
cmdvalue = strValidateStr.substr(epos+1);
} else {
command = strValidateStr;
}
var _value = objValue.value.trim();
switch(command) {
case "required":
case "rq":
{
if(eval(_value.trueLen()) == 0) {
if (!strError || strError.length == 0) {
strError = objDescTips.required;
}
dispInfo(objValue, strError, arrStyle[0]);
return false;
}
break;
}
case "maxlength":
case "mx":
{
if(eval(_value.trueLen()) > eval(cmdvalue)) {
if (!strError || strError.length == 0) {
strError = objDescTips.maxlength + cmdvalue;
}
dispInfo(objValue, strError, arrStyle[0]);
return false;
}
break;
}
case "minlength":
case "mi":
{
if(eval(_value.trueLen()) < eval(cmdvalue)) {
if (!strError || strError.length == 0) {
strError = objDesTip.minlength + cmdvalue;
return false;
}
dispInfo(objValue, strError, arrStyle[0]);
return false;
}
break;
}
case "alphanumeric":
case "an":
{
var charpos = _value.search("[^A-Za-z0-9]");
if(_value.trueLen() > 0 && charpos >= 0) {
if (!strError || strError.length == 0) {
strError = objDescTips.alphanumeric;
}
dispInfo(objValue, strError, arrStyle[0]);
return false;
}
break;
}
case "numeric":
case "nc":
{
var charpos = _value.search("[^0-9]");
if(_value.trueLen() > 0 && charpos >= 0) {
if (!strError || strError.length == 0) {
strError = objDescTips.numeric;
}
dispInfo(objValue, strError, arrStyle[0]);
return false;
}
break;
}
case "alpha":
case "aa":
{
var charpos = _value.search("[^A-Za-z]");
if(_value.trueLen() > 0 && charpos >= 0) {
if (!strError || strError.length == 0) {
strError = objDescTips.alpha;
}
dispInfo(objValue, strError, arrStyle[0]);
return false;
}
break;
}
case "alnumhyphen":
case "ay":
{
var charpos = _value.search("[^A-Za-z0-9\-_]");
if(_value.trueLen() > 0 && charpos >= 0) {
if (!strError || strError.length == 0) {
strError = objDescTips.alnumhyphen;
}
dispInfo(objValue, strError, arrStyle[0]);
return false;
}
break;
}
case "email":
case "el":
{
var pattern = /^[\w-\.]+\@[\w\.-]+\.[a-z]{2,4}$/;
if (!pattern.test(_value)) {
if (!strError || strError.length == 0) {
strError = objDescTips.email;
}
dispInfo(objValue, strError, arrStyle[0]);
return false;
}
break;
}
case "lessthan":
case "lt":
{
if(isNaN(_value)) {
if (!strError || strError.length == 0) {
strError = objDescTips.lessthan;
}
dispInfo(objValue, strError, arrStyle[0]);
return false;
}
if(eval(_value) >= eval(cmdvalue)) {
if (!strError || strError.length == 0) {
strError = objDescTips.lessthan_two + cmdvalue;
}
dispInfo(objValue, strError, arrStyle[0]);
return false;
}
break;
}
case "greaterthan":
case "gt":
{
if(isNaN(_value)) {
if (!strError || strError.length == 0) {
strError = objDescTips.greaterthan;
}
dispInfo(objValue, strError, arrStyle[0]);
return false;
}
if(eval(_value) <= eval(cmdvalue)) {
if (!strError || strError.length == 0) {
strError = objDescTips.greaterthan_two + cmdvalue;
}
dispInfo(objValue, strError, arrStyle[0]);
return false;
}
break;
}
case "regexp":
case "rg":
{
if(_value.trueLen() > 0) {
if(!_value.match(cmdvalue)) {
if (!strError || strError.length == 0) {
strError = objDescTips.regexp;
}
dispInfo(objValue, strError, arrStyle[0]);
return false;
}
}
break;
}
case "doselect":
case "ds":
{
if(objValue.selectedIndex == null) {
alert("BUG: 不能找到select对象");
return false;
}
if(objValue.selectedIndex == eval(cmdvalue)) {
if (!strError || strError.length == 0) {
strError = objDescTips.doselect;
}
dispInfo(objValue, strError, arrStyle[0]);
return false;
}
break;
}
case "telephone":
case "te":
{
var pattern = /^0?\d{2}\-?\d{3}\-?\d{8}$/;
if (!pattern.test(_value)) {
if (!strError || strError.length == 0) {
strError = objDescTips.telephone;
}
dispInfo(objValue, strError, arrStyle[0]);
return false;
}
break;
}
case "real":
case "rl":
{
var pattern = /^[\+\-]?\d*\.?\d*$/;
if (!pattern.test(_value)) {
if (!strError || strError.length == 0) {
strError = objDescTips.real;
}
dispInfo(objValue, strError, arrStyle[0]);
return false;
}
break;
}
case "http":
case "hp":
{
var pattern = /^http:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?$/;
if (!pattern.test(_value)) {
if (!strError || strError.length == 0) {
strError = objDescTips.http;
}
dispInfo(objValue, strError, arrStyle[0]);
return false;
}
break;
}
}
return true;
}
/////////////////////////用户调用接口////////////////////////////
function html_form(objSet, frmName) {
var frmvalidator = new Validator(frmName);
for (var objSingle in objSet) {
for (var descSets in objSet[objSingle]) {
if (objSet[objSingle][descSets] == '') {
frmvalidator.addValidation(objSingle, descSets);
} else {
frmvalidator.addValidation(objSingle, descSets, objSet[objSingle][descSets]);
}
}
}
//自定义函数
frmvalidator.setAddnlValidationFunction(arguments[2]);
}
html调用



Example for Validator


<!--
.STYLE1 {color: #0000ff;font-size:10pt}
.STYLE2 {color: #FF0000;font-size:10pt}
-->






用户名
*
请输入用户名


邮箱
*
请输入邮箱地址


电话

请输入电话号码


描述

请输入个人描述


爱好

足球

篮球

羽毛球
请选择个人爱好


地区


[choose yours]
北京
秦皇岛
唐山
山东
*
请选择地区








//验证用户名
function testName() {
var v = document.getElementById('username');
if (v.value.trim() != 'lb') {
return false;
} else {
return true;
}
}
//验证复选框
function testCheckBox() {
var ōbjWorkPattern = document.getElementsByName("Lovers[]");
var temp = "";
for (i = 0; i < objWorkPattern.length; i++) {
if (objWorkPattern.checked) {
temp += objWorkPattern.value.trim();
}
}
if (temp.length == 0) {
return false;
} else {
return true;
}
}
//用户添加的自定义验证函数
function testCustom() {
var v1 = document.getElementById('txtusername');
var v2 = document.getElementById("txtLovers");
if (testName() == false) {
v1.className = 'STYLE2';
v1.innerHTML = '用户名填写不正确!';
document.getElementById("username").focus();
return false;
} else {
v1.className = 'STYLE1';
v1.innerHTML = '请输入用户名';
}
if (testCheckBox() == false) {
v2.innerHTML = "个人爱好不能为空!";
return false;
} else {
v2.innerHTML = "请选择个人爱好";
}
return true;
}
//定义验证类
var a_fields = {
'username':{'rq':'必填项', 'mx=5':'', 'aa':'字母'},
'Email':{'mx=20':'', 'rq':'', 'el':''},
'Phone':{'te':''},
'introduce':{'mx=20':''},
'address':{'ds=0':'必须选择地区!'}
}
html_form(a_fields, 'myform', 'testCustom');



以上代码是我通过3周的时间不断完善最终形成的(中间并不是全做这个,可能还有别的其它事情)。贴出源码的主要目的是希望php、javascrīpt高手给予批评,使这个小生命能够茁壮成长。

我是用来验证表单用户名的! 回答: 当然可以, 不过没正则表达式快捷, 简便啊 追问: 因为我们没讲正则表达式! 回答: 有空学一学正则表达式. 如果不用正则表达式那就用这个吧...:function num_letter_only(str) {for (var i = 1; i 57 && code 90 && code 122) return false;return true;}var str = "a11cd";alert(num_letter_only(str));var str = "a1~cd";alert(num_letter_only(str)); 追问: 但是我把你给我的正则表达式弄进去,但是就算输入的字符串格式正确也会弹出"用户名必须输入数字和字母"var a=document.myForm.name1;var d=a.value;if (/^[\da-zA-Z]+$/.test(d)){return true;}else{alert("用户名只能输入数字和字母!");a.focus();return false;} 回答: var a=document.myForm.name1;换成var a=document.document.getElementById("name1");再把你的文本框name1换成:

利用正则表达式限制网页表单里的文本框输入内容:

用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"

1.用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"

2.用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

3.用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

4.计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}

5.javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:

String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}

利用正则表达式分解和转换IP地址:

6.下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序:

function IP2V(ip)
{
re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配IP地址的正则表达式
if(re.test(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
throw new Error("不是一个正确的IP地址!")
}
}

不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:

var ip="10.100.20.168"
ip=ip.split(".")
alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

匹配双字节字符(包括汉字在内):[^\x00-\xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

匹配空白行的正则表达式:\n\s*\r
评注:可以用来删除空白行

匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力

匹配首尾空白字符的正则表达式:^\s*|\s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
评注:表单验证时很实用

匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求

匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用

匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}
评注:匹配形式如 0511-4405222 或 021-87888822

匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始

匹配中国邮政编码:[1-9]\d{5}(?!\d)
评注:中国邮政编码为6位数字

匹配身份证:\d{15}|\d{18}
评注:中国的身份证为15位或18位

匹配ip地址:\d+\.\d+\.\d+\.\d+
评注:提取ip地址时有用

匹配特定数字:
^[1-9]\d*$ //匹配正整数
^-[1-9]\d*$ //匹配负整数
^-?[1-9]\d*$ //匹配整数
^[1-9]\d*|0$ //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$ //匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正

匹配特定字符串:
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
评注:最基本也是最常用的一些表达式

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内):[^\x00-\xff]

匹配空行的正则表达式:\n[\s| ]*\r

匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/

匹配首尾空格的正则表达式:(^\s*)|(\s*$)

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

^\d+$ //匹配非负整数(正整数 + 0)
^[0-9]*[1-9][0-9]*$ //匹配正整数
^((-\d+)|(0+))$ //匹配非正整数(负整数 + 0)
^-[0-9]*[1-9][0-9]*$ //匹配负整数
^-?\d+$ //匹配整数
^\d+(\.\d+)?$ //匹配非负浮点数(正浮点数 + 0)
^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ //匹配正浮点数
^((-\d+(\.\d+)?)|(0+(\.0+)?))$ //匹配非正浮点数(负浮点数 + 0)
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ //匹配负浮点数
^(-?\d+)(\.\d+)?$ //匹配浮点数
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$

将if (ta==-1||at==-1) 改为

if ( ta==-1||at==-1||at > ta )

这样就可保证@符号在.之前了

N2V 2L2 格式,什么意思?


用javascrpit怎么刷新本页面
其中frames[2]中的2是你页面筐架的位置序号(0,1,2,...),自己改把。

disable javascr
禁用JavaScript的功能意味着阻止JavaScript的运行,可以通过浏览器的开发者工具实现,如F12后选择"禁用JavaScript"。前端开发的核心在于构建用户在App界面或网站上可见的交互体验。无论是智能手机、智能冰箱还是远程POS机,这些设备的用户界面都属于前端范畴,它们提供了一种让用户操作的交互媒介。对物联网前端感...

javascrpit网页编程设计,能不能做到让用户在网页上输入用户名,和密码...
当然可以,你设置一个数组或集合,把注册的用户或者登陆的用户都可以存进去,然后你在取出来,就看见了!!!

学习JavaScr1pt内容简介
如果你是初学者,或者需要重温Java Script,那么《学习Java Script》这本书将为你揭示这门语言的强大内核和独特特性。Java Script如今在Ajax中占据核心地位,再次成为网站智能化的引擎,提升了用户交互体验。它不再局限于Web,而是扩展到编程领域,为其他软件开发提供了灵活的脚本工具。本书通过丰富的Web应...

javascritp 实现内容滚动,停了不能再恢复,
function _start() { _timer = setInterval("_scroll(document.getElementById('scrollobj'))", 30);} 这个里面scroll前面不应该要下划线_

用VS2008能编写 JAVASCRITP吗??一般公司用什么开发JAVASCRIPT?公司SEO...
你好,当然可以用vs2008,我们公司就采用的vs2008,一般公司采用notepad++,像javascript这种脚本语言不需要编译环境,纯文本编辑器都可以的。另外SEO搜索引擎不需要什么开发软件,这是一门搜索技术,建议你直接查看SEO百度百科。

...用循环或者while,dowhile,做出来,是在javascr
var sum=0;for(var j=1;j<=1500;j++){ sum+=j;}

javascrpt的的疑惑:config ||{}
js中对于对象可以直接判断,判断时按照该对象是否定义或是否存在来返回true或false。因此这里的或以及if中的判断都是这个道理,相当于if (mm != null)

如何使用 systemd 中的定时器
在javascritp中,有两个关于定时器的专用函数,它们是: 1.倒计定时器:timename=setTimeout("function();",delaytime);2.循环定时器:timename=setInterval("function();",delaytime); 1、定时器概述window对象提供了两个方法来实现定时器的效果,分别是window.setTimeout()和window.setInterval。其中前者可以使一...

怎么给Java web 自定义的文本编辑器添加表情?FCKConfig.SmileyPath...
可以,用JAVASCRRPT,这样就可以了 function xx事件(){ var a=document.getElementById("textarea").value;a="";document.getElementById("textarea").value=a;

辽中县14779535606: 如何在js里调用js类 -
昔龚骨折: js中的类通过function进行定义,使用时,直接new 函数名就是一个类定义.<br>举例<br><br>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br> functionTestClass(){<br> this.a='2';<br> this.kk = functionshow(){<br> alert('3');<br> }<br>}<br>vartc...

辽中县14779535606: 怎样在javascript中执行html语句 -
昔龚骨折: 思路:在javascript中 可以用字符串来表示html代码的内容,然后输出字符串内容就可以了! 例子:具体的举例说明: var str_html="你的html代码": 然后在输出出来就可以啦 document.write(str_html);

辽中县14779535606: 如何在 JS 中嵌入 HTML 代码 -
昔龚骨折: 不能这么写的,两者的执行位置不一样,JSP在服务器,JS在客户端.<br><br>JSP代码最后都是要编译成Servlet在服务端执行的,然后把HTML格式的执行结果输出到客户端,而JavaScript是要发送到客户端解释执行的,两者的执行一个在前,...

辽中县14779535606: 如何在javascript中插入HTML语句~ -
昔龚骨折: 有几种方法:1. 字符串形式 var html = '这里是html内容';2. 数组形式 var arr = []; arr.push(''); arr.push('这里是文本内容'); arr.push(''); var html = arr.join('');

辽中县14779535606: 如何在JavaScript中加入java语句 -
昔龚骨折: 在JavaScript中直接在<%%>里面写java代码就行啊, 你上面的代码多加了""了吧?这样<%%>及里面的java代码都成字符串了

辽中县14779535606: 如何在JavaScript中使用自定义事件 -
昔龚骨折: 在javascript中实现自定义事件的原理是创建一个管理事件的对象.如下代码是事件的定义:function EventTarget(){ this.handlers = {};//存储事件处理程序,由n个键值对组成,键表示事件名,值是一个由事件处理程序组成的数组 } EventTarget....

辽中县14779535606: 如何在js字符串中插入内容? -
昔龚骨折: 在js字符串中插入内容代码如下,代码实现了在字符串”你好“中插入字符”们“. 参数说明:str表示原字符串变量,item表示要插入的字符串,index表示要插入的位置. function insert_item(str,item,index){ var newstr=""; //初始化一个空字符串 var tmp=str.substring(0,index); var estr=str.substring(index,str.length); newstr+=tmp+item+estr; return newstr; } console.log(insert_item("你好","们",1)); 代码运行结果如下图:

辽中县14779535606: javascript中怎么实现文本框按钮的添加和删除 -
昔龚骨折: 思路: 添加:往页面类型是button的input 标签 删除:通过input标签查找所有添加的按钮,移除其中一个 代码示例: <script> function add(){var buttons = document.getElementById('buttons');buttons.innerHTML += ("<input type='button' value='...

辽中县14779535606: 在JavaScript中怎么使用EL
昔龚骨折: 是EL表达式吧:var str = '${str}' ;var str = '${obj.属性名}'; 但是只可以再jsp页面的<script></script>中使用,外部引入的js文件中不能使用.

辽中县14779535606: 阐述在页面中使用javascript的3种方式,每种是怎么使用的 请写出示例 -
昔龚骨折: <!--行类式例如 --><br><div onclick="alert('213123')" >点我试试看</div><br><!-- //内嵌式 写在<script>标签里面 --><br><br> <script type="text/javascript"><br> document.getElementsByTagName('div')[0].click = function(){alert('123123')};<br> </script><br><br> <!-- 外链式 --><br> <script src='text.js'></script>

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网