对用户输入的字段进行校验,输入的字符只能有0-9 a-z A-Z ( ) - _ 和中文字符,用正则表达式怎么写呢?请各位大侠帮助!
问题补充:
你好 中文字符的校验是哪一部分呢?
问题补充:是这样子的:我在validation.js中增加一个js函数,如下:
Validation.prototype.isValidateChar = function(String,prInfo){
if(String == '' || String == null){
return false;
}
var patrn = /^[\u4E00-\u9FA50-9A-Za-z()\-_]+$/;
if(!patrn.test(allString)){
this.errors[this.errors.length] = promptInfo;
}
}
在jsp页面增加如下代码(validation.js包已引入):
var objValidation = new Validation();
objValidation.isValidateChar(document.forms[0].calName,'请填写正确的名称.');
结果是:无论我在页面输入什么字符,各位的正则表达式我都试过了,都会弹出“请填写正确的名称”对话框,不知问题出在何处?
问题补充:function(String,prInfo)中的prInfo与方法体中的变量promptInfo是一致的,我写错了,应该是:this.errors[this.errors.length] = prInfo;
问题补充:
enet_java 写道
var patrn=/^[A-Za-z0-9\(\)_-]+$/;
if(patrn.test(val))
return true;
else
return false;
if(patrn.test(val))
return true;
else
return false;
你好 中文字符的校验是哪一部分呢?
问题补充:是这样子的:我在validation.js中增加一个js函数,如下:
Validation.prototype.isValidateChar = function(String,prInfo){
if(String == '' || String == null){
return false;
}
var patrn = /^[\u4E00-\u9FA50-9A-Za-z()\-_]+$/;
if(!patrn.test(allString)){
this.errors[this.errors.length] = promptInfo;
}
}
在jsp页面增加如下代码(validation.js包已引入):
var objValidation = new Validation();
objValidation.isValidateChar(document.forms[0].calName,'请填写正确的名称.');
结果是:无论我在页面输入什么字符,各位的正则表达式我都试过了,都会弹出“请填写正确的名称”对话框,不知问题出在何处?
问题补充:function(String,prInfo)中的prInfo与方法体中的变量promptInfo是一致的,我写错了,应该是:this.errors[this.errors.length] = prInfo;
例如:
var patrn1 = /^[1-9]$/;
var patrn2 = /^[.][1-9]$/;
var patrn3 = /^[1-9][0-9]$/;
var patrn4 = /^[1-9][.][0-9]$/;
var patrn5 = /^[0][.][1-9]$/;
var patrn6 = /^[1-9][0-9][.][0-9]$/;
var patrn7 = /^[.]$/;
var patrn8 = /^[0-9][.]$/;
var patrn9 = /^[1-9][0-9][.]$/;
//var res = patrn.exec(element.value);
var res1 = element.value.match(patrn1);