Javascript 表单验证正则表达式和DOM:在表单验证中实现正则表达式的最佳方法是什么
表单验证正则表达式和DOM: 在表单验证中实现正则表达式的最佳方法是什么 我目前正在执行此操作,但当我验证时,它与值不匹配:Javascript 表单验证正则表达式和DOM:在表单验证中实现正则表达式的最佳方法是什么,javascript,regex,forms,validation,dom,Javascript,Regex,Forms,Validation,Dom,表单验证正则表达式和DOM: 在表单验证中实现正则表达式的最佳方法是什么 我目前正在执行此操作,但当我验证时,它与值不匹配: if(this.value.length > 0 && this.value === /^[a-zA-Z]+$/ ); 提前谢谢你 您需要使用test()方法 var patt = /^[a-zA-Z]+$/; //define your RegEx if(this.value.length > 0 && patt.
if(this.value.length > 0 && this.value === /^[a-zA-Z]+$/ );
提前谢谢你 您需要使用
test()
方法
var patt = /^[a-zA-Z]+$/; //define your RegEx
if(this.value.length > 0 && patt.test(this.value)){ //check if this.value is longer than one character AND matches your RegEx
//do something
};
请参见您需要使用
test()
方法
var patt = /^[a-zA-Z]+$/; //define your RegEx
if(this.value.length > 0 && patt.test(this.value)){ //check if this.value is longer than one character AND matches your RegEx
//do something
};
请参见为什么代码不匹配任何值? 因为您使用了类型相等性测试
==
。在JavaScript的动态类型世界中,它表示为:测试这些值的类型是否相同,然后测试它们是否相等。
因此,当您试图以这种方式测试一些文本框的值时,这些文本框是字符串
typeof('a')
此代码将生成“string”,因为“a”实际上是一个字符串。但是:
typeof(/^[a-zA-Z]+$/)
这将产生“对象”。正如您所看到的,当您尝试将字符串与对象进行比较时,类型相等性测试将始终返回false
这是为了测试对象及其值的相等性。有关正则表达式,请参见“bam”答案。为什么代码不匹配任何值? 因为您使用了类型相等性测试
==
。在JavaScript的动态类型世界中,它表示为:测试这些值的类型是否相同,然后测试它们是否相等。
因此,当您试图以这种方式测试一些文本框的值时,这些文本框是字符串
typeof('a')
此代码将生成“string”,因为“a”实际上是一个字符串。但是:
typeof(/^[a-zA-Z]+$/)
这将产生“对象”。正如您所看到的,当您尝试将字符串与对象进行比较时,类型相等性测试将始终返回false
这是为了测试对象及其值的相等性。有关正则表达式,请参见“bam”答案。我尝试使用match(),但一旦启动函数,输入仍然无法匹配正则表达式。当只有(this.value.length>0)时,我成功了,但当我尝试匹配时,会出现错误。我已更新了答案。
test()
方法将返回true或false。因此,在本例中,如果它与正则表达式匹配,那么if条件将为true,代码应该执行。我以前使用match()
方法的回答是错误的,因为match将以数组形式返回匹配值,而不是布尔值,所以它不会工作……非常感谢,您的编辑帮助很大!我想提高你的投票率,但我还没有足够的声誉。我尝试使用match(),但一旦启动我的函数,输入仍然无法匹配正则表达式。当只有(this.value.length>0)时,我成功了,但当我尝试匹配时,会出现错误。我已更新了答案。test()
方法将返回true或false。因此,在本例中,如果它与正则表达式匹配,那么if条件将为true,代码应该执行。我以前使用match()
方法的回答是错误的,因为match将以数组形式返回匹配值,而不是布尔值,所以它不会工作……非常感谢,您的编辑帮助很大!我想增加你的投票,但我还没有足够的声誉。很抱歉,我不太懂javascript和堆栈溢出,我的函数会检查onBlur,看看表单输入是否匹配长度,字符是否匹配第一个名字的正则表达式。很抱歉,我不太懂javascript和堆栈溢出,my函数检查onBlur表单输入是否与长度匹配,字符是否与第一个名称的正则表达式匹配。