[英]regex ensure string starts and ends with digits
如何編寫在 JavaScript 中使用的正則表達式,以確保字符串的第一個和最后一個字符始終是數字?
r = /\D+/g;
var s = "l10ddd31ddd5705ddd";
var o = r.test(s);
console.log(o);
因此, 1KJ25LP3665
將返回 true,而K12M25XC5750
將返回 false。
你可以有一個像下面這樣的正則表達式:
/^\d(.*\d)?$/
^
從字符串的開頭開始匹配, $
繼續匹配直到字符串的結尾。\\d
匹配開頭和結尾的數字。.*
匹配中間的零個或多個字符。1
=> (.*\\d)
可選?
元字符,可選擇匹配零個或多個以數字結尾的字符,直到字符串的結尾。 如果字符串只有一個數字,這將有所幫助。if(s.matches("\\d.*\\d"))
{
// Do what you want once both start and ending characters are digits
}
此解決方案無需正則表達式即可獲得相同的結果。 它還處理空字符串或只有一個字符的字符串。
function startsAndEndsWithDigits(string)
{
if(string.length>0)//if string is not empty
{
var firstChar = string.split('')[0];//get the first charcter of the string
var lastChar = string.split('')[string.length -1];//get the last charcter of the string
if(firstChar.length>0 && lastChar.length>0)
{ //if first and last charcters are numbers, return true. Otherwise return false.
return !isNaN(firstChar) && !isNaN(lastChar);
}
}
return false;
}
用法示例:
startsAndEndsWithDigits('1KJ25LP3665'); //returns true
startsAndEndsWithDigits('K12M25XC5750');//returns false
startsAndEndsWithDigits(''); //returns false
startsAndEndsWithDigits('a'); //returns false
startsAndEndsWithDigits('7'); //returns true
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.