[英]Form validation regex and DOM: What would be the best way to implement regex in a form validation
表单验证正则表达式和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.test(this.value)){ //check if this.value is longer than one character AND matches your RegEx
//do something
};
为什么您的代码没有数学任何值? 因为您使用了按类型的相等性测试===
。 在JavaScript世界的动态类型中,它声明:如果这些值的类型相同,则测试它们的类型,如果它们相等,则测试它们的值。 因此,当您尝试以这种方式测试某些文本框(即字符串)的值时
typeof('a')
该代码将产生“字符串”,因为“ a”确实是字符串。 但:
typeof(/^[a-zA-Z]+$/)
这将产生“对象”。 如您所见,当您尝试将字符串与对象进行比较时,类型式相等性测试将始终返回false。
那是为了测试对象及其值的相等性。 对于正则表达式,请参见“ bam”答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.