检查或验证表单条目以某个字母开头

时间:2014-04-22 23:49:31

标签: javascript forms validation

我为此尝试了很多不同的修复方法,但显然我没有做到这一点!我需要javascript来验证用户输入的emp_id是否以S或s开头。

公司信息告诉我这样做:

 if (document.User.FirstName.value != "" & document.User.LastName.value != "" & document.User.EmpID.value != "" & (/^S/.test(document.User.EmpID.value))) 

 else 
      {
         alert("You must enter your name and Student ID.  Student ID must begin with an S plus seven digits, before your completion can be recorded.");

表单条目是:

<p align="center">Student ID: <input TYPE="text" id="emp_id" NAME="emp_id" SIZE="8" MAXLENGTH="8">

我也试过

if (document.User.FirstName.value != "" & document.User.LastName.value != "" & document.User.emp_id.value != "" & (/^[S]/.test(document.User.EmpID.value)))

以及其他一些变化,但到目前为止,没有运气。

我不能偏离这个文本太多(比如添加不同类型的函数或验证)。是否有可能使这项工作?

1 个答案:

答案 0 :(得分:0)

首先,&本身并不表示AND,您需要&&

其次,您可以轻松地将第二个条件语句中的正则表达式更新为^[Ss]以捕获上部S和小写s

第三,似乎您正在访问不存在的文档元素。您似乎需要emp_id而不是EmpID

编辑(感谢@RobG):您还可以添加i标志,以指示表达式中未考虑该情况。对于您的第一个if语句/^S/i.test(document.User.EmpID.value)

由于新评论:

if (document.User.FirstName.value != "" && document.User.LastName.value != "" && document.User.emp_id.value != "" && /^S/i.test(document.User.emp_id.value))应该有效,我已经进行了一般测试,它似乎正在工作(字符串以字母S开头。如果字符串不以字母s或{{1}开头然后正则表达式失败了。