动态模式Javascript
Dynamics Pattern Javascript
我得到了一个远程服务的请求,这个服务给了我一个模式如下的字段:
[a-zA-Zа-яА-ЯёЁ'+-]{1,100}
[0-9a-zA-Zа-яА-ЯёЁ'+-]{2,10}
在方括号中包含允许的符号。
所以我有字段和它们的模式。
如何通过输入模式验证输入的数据?
将字符串发送给RegExp
构造器并使用test
string = "[a-zA-Zа-яА-ЯёЁ'+-]{1,100}"
pattern = new RegExp(string)
alert(pattern.test("This works, привет, 123"));
alert(pattern.test("$☛☛"));
现场演示
根据您的情况,您可能希望在模式中添加"^"answers"$"。
你应该使用JavaScript正则表达式来解决这个问题。
你可以这样做
"some test".match(/[a-zA-Zа-яА-ЯёЁ'+-]{1,100}/)
返回["some"]
或
/[a-zA-Zа-яА-ЯёЁ'+-]{1,100}/.test("some test")
返回true
简单的例子:
var s = "hello123";
var r1 = "[a-zA-Zа-яА-ЯёЁ'+-]{1,100}"; // the pattern you were given
var reg1 = RegExp("^" + r1 + "$"); // the pattern enclosed in `^` `$`
var r2 = "[0-9a-zA-Zа-яА-ЯёЁ'+-]{2,10}";
var reg2 = RegExp("^" + r2 + "$");
alert(reg1.test(s)); // false
alert(reg2.test(s)); // true
正则表达式具有您提到的模式,但包含在^
和$
之间-意思是"整个表达式"。第一个表达式失败是因为s
中有一个不允许的数字。第二个表达式通过了——它只有数字和字母,总共在2到10个字符之间。
相关文章:
- 初级JavaScript模式
- 什么'这是这个JavaScript模式的名称
- 是'要求(..)'常见的javascript模式或库函数
- 与变量匹配的Javascript模式
- javascript模式下的asp.net网格视图获胜'不要执着于改变索引
- Javascript:模式HREF需要替换
- 用于忽略先前请求响应的前端 JavaScript 模式
- 处理草图在Java中工作,但在JavaScript模式下不工作
- 插件的 JavaScript 模式
- HTML Javascript 模式弹出窗口,具有自动关闭功能
- 如何正确选择JavaScript模式
- 如何在 Emacs 的 javascript 模式下设置 2 个空格缩进
- 它是什么类型的Javascript模式
- 处理草图在 JavaScript 模式下不起作用
- JavaScript 模式,用于确定某人何时在页面上选择文本
- 对这个javascript模式感到困惑
- JavaScript模式弹出赢得'不起作用
- 使用WADIR点击javascript模式对话框弹出窗口
- Javascript模式资源
- 这两种JavaScript模式的优缺点是什么