【发布时间】:2018-07-14 04:57:42
【问题描述】:
我在 ASP.net 网络表单上有一个文本框,预期值的格式为 AA000000。
我正在使用自定义验证器调用 Javascript 函数以使用正则表达式验证文本。但这还行不通。
请指教。
<asp:TextBox ID="txtPassportNumber" runat="server" Visible="True" Width="576px" AutoPostBack="True" ControlToValidate="txtIdentityNumber"></asp:TextBox>
<asp:RequiredFieldValidator ID="valRequiredPassportNumber" runat="server" ErrorMessage="Passport number is required." ControlToValidate="txtPassportNumber" ValidateRequestMode="Enabled" Font-Italic="True" ForeColor="Red" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:CustomValidator ID="valCustomPassportNumber" runat="server" ErrorMessage="Please provide a valid Passport number." ControlToValidate="txtPassportNumber" ClientValidationFunction="validatePassportNumber" Font-Italic="True" ForeColor="Red" SetFocusOnError="True"></asp:CustomValidator>
JS
< script >
function validatePassportNumber(oSrc, args) {
if (document.getElementById("txtPassportNumber").value != "") {
var inputString = document.getElementById("txtPassportNumber").value;
//var pattern = new RegExp("/[a-zA-Z]{2}[0-9]{6}/");
var pattern = /[a-zA-Z]{2}[0-9]{6}/;
if (pattern.test(inputString) == true)
args.IsValid = true
else
args.IsValid = false
}
} <script >
【问题讨论】:
-
更好用
/^[a-zA-Z]{2}[0-9]{6}$/ -
@S.Kablar nope 也不适用于此
标签: javascript asp.net regex