我正在尝试创建JavaScript模式以查看输入值是否为日期,我的日期格式为2015/1月/ 01,我已尝试执行此操作\d{4}/\[A-Za-z]{3}/\d{1,2}
但这不起作用,请帮我修复它
function SetValue() {
// var newdata = document.getElementById('txtCellEditor').value;
var myString = txtCellEditor.value;
if (myString.match(\d{4}/\[A-Za-z]{3}/\d{1,2})) {
alert("'myString' is date.");
}
答案 0 :(得分:3)
您的regex
不正确
/
的分隔符,即^
$
和/
检查完全匹配而非子字符串\
[
来逃离
test()
match
代替var regex = /^\d{4}\/[a-z]{3}\/\d{1,2}$/i;
function SetValue() {
var myString = document.getElementById('date').value;
if (regex.test(myString)) {
console.log("'myString' is date.");
} else {
console.log("'myString is not date.");
}
}
<强>可视化强>
<input type="text" id="date" onkeyup="SetValue()" />
&#13;
{{1}}&#13;
答案 1 :(得分:2)
大多数实际的正则表达式都很好,但你忘了把它放在/
s中,使它成为正则表达式! (你已经逃过了/
[但后退]中的一个,但没有逃过另一个。)
if (myString.match(/\d{4}\/[A-Za-z]{3}\/\d{1,2}/)) {
// ^ ^^ ^^ ^
// regex quote-/ \--escaped--/ \-- regex quote