我想检查一个文本框输入是否有效(只允许使用字母,数字和下划线.没有空格或破折号).我目前有这个,但空格和破折号似乎通过了.
function validText(field)
{
var re = /[a-zA-Z0-9\-\_]$/
if (field.value.search(re) == -1)
{
alert ("Invalid Text");
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
有效的输入就像是
' Valid_Input123'
无效
'Invalid-Input !'
Run Code Online (Sandbox Code Playgroud)
Phi*_*hil 24
\w是一个方便的正则表达式转义序列,涵盖字母,数字和下划线字符^)和end($)来测试整个字符串的有效字符test方法比字符串search方法快+量词测试一个或多个字符总结(在代码中)
var re = /^\w+$/;
if (!re.test(field.value)) {
alert('Invalid Text');
return false;
}
return true;
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用测试任何无效字符
/\W/.test(field.value)
Run Code Online (Sandbox Code Playgroud)
\W是字母,数字或下划线字符以外的任何字符.
然后,您可能还需要添加长度检查以使空字符串无效,例如
if (/\W/.test(field.value) || field.value.length === 0)
Run Code Online (Sandbox Code Playgroud)
您只是测试文本是否以字符类中的一个字符结束($).您还明确允许使用破折号(\-).如果您不想这样,请将其删除.
锚定表达式(^,$),添加一个量词(+)以及.test该字符串是否仅包含这些字符:
var re = /^[a-zA-Z0-9_]+$/; // or /^\w+$/ as mentioned
if (!re.test(field.value)) {
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32185 次 |
| 最近记录: |