[英]jQuery regexp validation
我想用一個小的jQuery函數在表單上驗證onsubmit來驗證用戶輸入客戶端。 我希望字段#fname(名字)只允許包含az,AZ和空格。 返回false應該阻止表單提交。
function validateregister(){
if (!($("fname") =~ [a-zA-Z ])) {
return false;
}
}
這是我的HTML:
<input type="submit" value="Join now!" id="registersubmit" class="paddingoutline2" onsubmit="return validateregister()">
當然,稍后我將在服務器端驗證用戶輸入。 當我提交表單時,它給我一個“內部服務器錯誤”。 這使我認為我在函數validateregister()中犯了一個錯誤。 有什么問題嗎? 如果我不是jQuery的新手,那么感謝您的幫助。
謝謝!
你想要的是
function validateregister(){
return /^[a-zA-Z ]+$/.test($('#fname').val());
}
除了修復建議使用val
和test函數的選擇器外,我還自由更改了regex:
^
和$
強制測試覆蓋整個字符串 +
至少需要一個字符 但是您是否知道,如果您希望人們鍵入其真實姓名,則此正則表達式可能太嚴格了? 例如,您的不會通過...
您必須以這種方式使用正則表達式:
function validateregister(){
var nameRgx = /[a-zA-Z]/;
var phoneRgx = /[0-9]/;
if (!nameRgx.test($("#fname").val())) {
return false;
}
if (!phoneRgx.test($("#phone").val())) {
return false;
}
}
並確保與無論是指你的元素#
ID符號或.
類符號。 在您的代碼中,您沒有以正確的方式引用您的elem。
^ ---->Start of a string.
$ ---->End of a string.
. ----> Any character (except \n newline)
{...}----> Explicit quantifier notation.
[...] ---->Explicit set of characters to match.
(...) ---->Logical grouping of part of an expression.
* ---->0 or more of previous expression.
+ ---->1 or more of previous expression.
? ---->0 or 1 of previous expression;
also forces minimal matching when an expression might
match several strings within a search string.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.