表单验证regex和DOM:在表单验证中实现regex的最佳方式是什么?

Form validation regex and DOM: What would be the best way to implement regex in a form validation

本文关键字:表单 regex 验证 最佳 方式 是什么 DOM 实现      更新时间:2023-09-26

表单验证正则表达式和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
     };

见http://www.w3schools.com/jsref/jsref_regexp_test.asp

为什么你的代码不匹配任何值?因为你用了类型相等检验===。在JavaScript的动态类型世界中,它声明:如果这些值相同,测试它们的类型,然后测试它们是否相等。当你尝试用这种方式测试一些文本框的值时,也就是字符串

typeof('a')

这段代码将产生"string",因为'a'确实是一个字符串。但是:

typeof(/^[a-zA-Z]+$/)

this将生成"object"。如你所见,当你试图比较字符串和对象时,类型相等测试总是返回false。

用于测试对象及其值是否相等。